答案 0 :(得分:1)
你应该真正阅读the documentation on this,它会帮助你很多。
从以前的实例重新创建Activity时,会设置savedInstanceState
字段。这发生在例如当设备更改方向或用户导航时,然后导航回您的活动。设置该字段后,您可以在用户离开时恢复活动状态。
当您的“活动”之前没有要恢复的状态时,savedInstanceState
字段为null
。
当您的活动即将被销毁时,您可以通过覆盖活动中的savedInstanceState
并将其添加到onSaveInstanceState(Bundle bundle)
来向Bundle
添加变量。下次调用您的活动onCreate(Bundle savedInstanceState
)时,onSaveInstanceState()
中将为您提供Bundle
中设置的字段。
最后,当您在应用程序的主(UI)线程上做太多工作时,会显示“应用程序无响应”对话框。但是,当您连接调试器时,也会发生这种情况。如果您显示此对话框附加调试器我不会担心它。但是,如果在正常使用你的应用程序期间显示此对话框,这表明你在主线程上执行了太多的处理,你应该将繁重的工作移动到后台线程,例如通过使用Loader,AsyncTask,IntentService,Thread或任何其他可用的选项。
答案 1 :(得分:0)
这里有两件事,首先是
你在调试器中看到的并不是什么不寻常的事。有时它是空的,有时它不是。这就是Android框架的工作原理; - )saveInstanceState = null
有关该内容的更多信息,请阅读有关活动生命周期的官方文档:https://developer.android.com/training/basics/activity-lifecycle/recreating.html#RestoreState
第二件事是ANR(应用程序没有响应)窗口在调试应用程序时发生了很多。只需按WAIT就可以了。