活动被销毁后,savedInstanceState 始终为空

Posted

技术标签:

【中文标题】活动被销毁后,savedInstanceState 始终为空【英文标题】:savedInstanceState is always null after activity gets destroyed 【发布时间】:2014-06-19 22:40:29 【问题描述】:

我有家长和孩子的活动。父活动将自定义状态存储在 onSaveInstanceState 中(在将所有需要的项目打包到包中后调用 super.onSaveInstanceState),然后在 onCreate 中读取状态,但是由于某种原因,savedInstanceState 始终为空。

以下是父活动上记录的事件序列:onPause->onSaveInstanceState->onStop。然后显示子活动,当我按下 Up 时,父活动触发 onDestroy,然后 onCreate 触发 null savedInstanceState。

我对这件事有点想法 - 请告知我可能遗漏的内容。

谢谢。

【问题讨论】:

答案***.com/questions/10320179/… 间接解决了我的问题,但我仍然想了解我观察到的行为背后的逻辑。 太好了,你的问题解决了。但是,为了让我们向您解释正在发生的事情,我们需要更多信息。你的代码是什么,你是怎么解决的? 【参考方案1】:

我也面临同样的问题。 我的解决方案是将清单中的 ParentActivity 启动模式从默认更改为

android:launchMode="singleTop"

【讨论】:

以上是关于活动被销毁后,savedInstanceState 始终为空的主要内容,如果未能解决你的问题,请参考以下文章

销毁一个活动

在活动被销毁后运行Bindservice

savedInstanceState 是 null 并且 onSaveInstanceState 没有被调用

闭包‘

如何在从通知(活动2)启动的活动后启动MainActivity(活动1)在后台销毁

Android:当应用程序被销毁和重新创建时总是启动启动活动