最近我在使用 onSaveInstanceState()
和 onRestoreInstanceState()
时遇到了一些问题。我有多个活动使用这些方法,在系统清理它们的情况下保存状态。其中大部分都能正常工作,但有一个不行,而我也不知道原因。
具体情况如下:
- 我的模拟器正在运行,并设置开发工具在所有活动不再可见时调用
destroy()
。 (以此来证明保存/恢复状态是否正常工作) - 打开相关的Activity并更改它的一些状态。
- 启动新活动,让它运行一会儿,然后使用“返回”按钮回到之前的活动。
- 回到相关的Activity时,我注意到默认状态已经还原,因此它没有应有的状态。
我注意到onSaveInstanceState()
被调用,onCreate()
被调用,但是Bundle为空, 而 onRestoreInstanceState()
从未被调用。
有人见过这种情况吗?