TabActivity生命周期回调无序?

时间:2014-11-10 14:55:33

标签: java android android-activity lifecycle

我想我完全理解lifecycle的{​​{1}},直到我今天遇到一个有趣的问题。

我创建了一个从activity扩展的标签式活动作为描述问题的示例。

我还在TabActivity的生命周期callback中添加了日志代码。这是详细信息:

activity

这是日志:

protected void onRestart() { 
    super.onRestart();
    MJ_MiscUtils.danielPrintfDebug("MJ_TabMainActivity=>onRestart" , toString() );
} 

protected void onStop() { 
    super.onStop(); 
    MJ_MiscUtils.danielPrintfDebug("MJ_TabMainActivity=>onStop" , toString()  );
} 

protected void onStart() {
    super.onStart(); 
    MJ_MiscUtils.danielPrintfDebug("MJ_TabMainActivity=>onStart", toString()  );
}

public void onCreate(Bundle savedInstanceState) { 
....
    MJ_MiscUtils.danielPrintfDebug("MJ_TabMainActivity=>onCreate" , toString() );       
}

protected void onDestroy() {
    super.onDestroy();
    MJ_MiscUtils.danielPrintfDebug("MJ_TabMainActivity=>onDestroy", toString() ); 
}

当我通过按后退键退出应用程序时,没有onStop / onDestroy的日志代码

当我重新启动应用程序时,再次调用oncreate / onStart。

MJ_TabMainActivity=>onCreate com.mujing.distplatform.MJ_TabMainActivity@41c13968 

MJ_TabMainActivity=>onStart com.mujing.distplatform.MJ_TabMainActivity@41c13968 

并且onSttop后立即调用onStop和ondestroy ....但是实例值(41c13968)与onStart(42385718)中的实例值不同。这就是说,旧的TabMainActivity实例刚被破坏。

MJ_TabMainActivity=>onCreate com.mujing.distplatform.MJ_TabMainActivity@42385718

MJ_TabMainActivity=>onStart com.mujing.distplatform.MJ_TabMainActivity@42385718 

请您帮忙解释一下它是否符合官方文件。如果没有,那么它的根本原因是什么?

1 个答案:

答案 0 :(得分:0)

对于延迟提供有关此方案的详细信息感到抱歉。实际上,这种混乱是由我的代码中的错误引起的。在我的项目中,为数据泵创建了一个服务。为了调试这个服务,我在某处添加了一些android.os.Debug.waitForDebugger()。当我拔下USB并运行应用程序时,会出现此问题。当我删除它们时,提升循环回调正常。