Android保持状态不一致

时间:2015-03-03 16:01:29

标签: android state android-lifecycle

作为一个新的Android开发人员,我正在尝试采用android心态。我在保留活动状态时遇到了问题,因为onSavedInstanceState似乎在不同版本的Android之间不一致。

在版本3之前,onSavedInstanceState即使在应用程序被杀死时也会保留数据,方法是手动将其从最近的应用列表中删除。在较新的版本中并非如此。另一种方法是使用共享首选项,但活动的生命周期似乎非常复杂。

我可以使用onPause / onResume方法,但每次调用它们,即使在活动的创建过程中也是如此。一个简单的解决方案是使用布尔标志来检查onCreate事件是否已经运行过,但是感觉还不行。

你会建议在所有情况下保持状态的最佳策略(例如:手动杀死应用程序,操作系统杀死应用程序,另一个应用程序覆盖活动等)?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

SavingActivityState

  

注意:因为无法保证调用onSaveInstanceState(),   你应该只用它来记录活动的瞬态   (UI的状态) - 你永远不应该用它来存储持久性   数据。相反,您应该使用onPause()来存储持久数据(例如   当用户离开时,作为应保存到数据库的数据   活性。

Storage Options