如果在onCreate期间停止服务,onStart是否仍然可以运行?

时间:2011-10-17 20:45:42

标签: android lifecycle oncreate onstart

根据我对应用程序生命周期(包括服务)的理解,它应该继续创建> 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清楚地表明onStart仍在运行,尽管服务在onCreate中终止。

这是预期的吗?这是为什么?

1 个答案:

答案 0 :(得分:3)

它是Service lifecycle的一部分,因为它需要提供启动/创建服务的意图。我建议不要使用onStart(),该方法为deprecated,并由onStartCommand()替换。