如果你在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仍然运行。

这是意料之中的吗?为什么会这样?

它是服务生命周期的一部分,因为它需要交付启动/创建服务的意图。虽然我不建议使用onStart(),但该方法已被弃用并被onStartCommand()取代。

相关内容

  • 没有找到相关文章

最新更新