作为一个新的Android开发人员,我正在尝试采用android心态。我在保留活动状态时遇到了问题,因为onSavedInstanceState似乎在不同版本的Android之间不一致。
在版本3之前,onSavedInstanceState即使在应用程序被杀死时也会保留数据,方法是手动将其从最近的应用列表中删除。在较新的版本中并非如此。另一种方法是使用共享首选项,但活动的生命周期似乎非常复杂。
我可以使用onPause / onResume方法,但每次调用它们,即使在活动的创建过程中也是如此。一个简单的解决方案是使用布尔标志来检查onCreate事件是否已经运行过,但是感觉还不行。
你会建议在所有情况下保持状态的最佳策略(例如:手动杀死应用程序,操作系统杀死应用程序,另一个应用程序覆盖活动等)?
提前谢谢。
答案 0 :(得分:0)
注意:因为无法保证调用onSaveInstanceState(), 你应该只用它来记录活动的瞬态 (UI的状态) - 你永远不应该用它来存储持久性 数据。相反,您应该使用onPause()来存储持久数据(例如 当用户离开时,作为应保存到数据库的数据 活性。