【发布时间】:2015-07-10 06:51:45
【问题描述】:
我想在我的 Activity 从“最近使用的应用”列表中滑出时保留它的状态,以便当用户再次启动我的应用时,它会处于用户离开它时的相同状态。
根据我的调试,当显示最近的应用程序列表时,我的活动的onSaveInstanceState() 似乎被调用,但是,在我刷掉我的应用程序并重新启动它之后,我再也没有找回我的savedInstanceState。
如何在此交互过程中保持我的状态?
【问题讨论】:
-
您是否将状态保存在 saveinstance 包中?如果你这样做了,那么它将在 onCreate 中可用
-
@PrakashNadar:这正是问题所在——我的 savedInstanceState 在我从“最近的应用程序”列表中关闭后,下次启动它时不会传回我的活动。
-
当应用程序被刷走时,将不会提供保存的实例,因为活动被用户操作杀死。用户期望应用程序正在“重置”,即就像杀死一个应用程序和重新启动.. 所以你应该为这个期望设计应用程序或 UX,而 android 正在确保这会发生。只有当用户在应用程序或更高级别的活动之间切换导致活动关闭时,才会将保存的实例提供给您。如果您真的真的希望恢复状态(我认为这是一个坏主意),您可能应该将状态保存在一些持久性存储中。
标签: android android-activity android-recents