android - 如果在 onCreate 期间停止服务,onStart 是否仍会运行?

标签 android lifecycle oncreate onstart

根据我对应用程序生命周期(包括服务)的理解,它应该继续 onCreate > onStart > onResume。

基于这种理解,如果您在 onCreate 中使用 this.stopSelf() 关闭循环,则它永远不会触发 onStart。

    @Override
public void onCreate()
{
    super.onCreate();
    Log.i(TAG, "Service starting");
    this.stopSelf();
}
@Override
public void onStart(Intent intent, int startId) 
{
    super.onStart(intent, startId);
    Log.i(TAG, "onStart Service");
}

我希望 onStart 日志不会触发。然而,LogCat 清楚地表明,尽管服务在 onCreate 中终止,但 onStart 仍在运行。

这是可以预料到的吗?这是为什么?

最佳答案

它是 Service lifecycle 的一部分,因为它需要传递启动/创建服务的 Intent 。不过,我不建议使用 onStart(),该方法是 deprecated并替换为 onStartCommand() .

关于android - 如果在 onCreate 期间停止服务,onStart 是否仍会运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799363/

相关文章:

java - 将 C++ 项目导出到 Android - JNI/JavaCPP/Visualgdb

android - 如何让android :versionName in AndroidManifest. xml在eclipse中自动改变?

java - 上传文件时出现致命异常错误,但文件仍然可以正常上传

android - Helper 类 - 错误无法启动 Activity ComponentInfo :

Android Activity 生命周期 - 所有这些方法的用途是什么?

android - copyToRealmOrUpdate 删除了 RealmResults 中的更新对象

javascript - Vue 兄弟组件 Hook 生命周期关系

objective-c - 用户按下主页按钮时中断方法?

java-me - 为什么在 Java ME 应用程序中使用 startApp() 而不是构造函数?

android - ArrayAdapter 没有默认构造函数