【问题标题】:TabActivity lifecycle callback in disorder?TabActivity 生命周期回调混乱?
【发布时间】:2014-11-10 14:55:32
【问题描述】:

我以为我完全理解了activitylifecycle,直到我今天遇到了一个有趣的问题。

我创建了一个从TabActivity 扩展的选项卡类型的活动作为描述问题的示例。

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

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() ); 
}

这是日志:

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

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

当我按返回键退出应用时,没有onStop/onDestroy的日志代码

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

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

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

而且,onStop 和 ondestroy 会在 onStart 之后立即调用 ....但是实例值 (41c13968) 与 onStart(42385718) 中的不同。也就是说,旧的 TabMainActivity 实例刚刚被销毁。

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

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

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

【问题讨论】:

  • logcat 中还有其他内容吗?不要过滤 logcat,因为你可能会错过一些重要的东西
  • 很抱歉延迟提供有关此方案的更多详细信息。

标签: java android android-activity lifecycle


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多