【发布时间】:2012-09-06 00:17:54
【问题描述】:
我的应用是一个 Activity(它现在是 FragmentActivity 的一个子类,虽然我认为这并不重要),我们称之为 Activity A。
在其中,一个按钮通过 Intent 使用 startActivity() 启动它,从而导航到(比如说)Activity B。
清单中的活动都没有任何特殊标志(SingleTop)等,没有调用完成()等。即没有什么不寻常的。
Activity A 的方法 onSaveInstanceState() 被调用,我保存了一些状态信息。
在活动 B 中,我按 BACK 键并返回到活动 A。
调用了onCreate()方法,但是“savedInstanceState”的Bundle为空,无法重建之前保存的状态。
任何想法我做错了什么,以及如何确保我恢复状态。
顺便说一句:在配置更改(比如旋转)时,一切正常......
【问题讨论】:
-
启动 Activity B 并返回到 Activity A 应该只调用 Activity A 的
onPause()和onResume()方法。你之前的状态不应该被改变......除非操作系统在后台杀死 A 以回收内存,但这与方向改变没有什么不同。