根据我对应用程序生命周期(包括服务)的理解,它应该继续 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/