【发布时间】:2016-04-09 14:28:51
【问题描述】:
我想保存我的应用程序的状态并在用户返回我的应用程序时恢复它。到目前为止,我一直在阅读我不应该为此使用 SharedPreferences,因为那是为了偏好;我也不应该使用 savedInstanceState Bundle,因为那是不安全的。
建议的方法是将 OnPause 中的数据保存到数据库或文件(在我的情况下就足够了)并在 OnResume 中恢复。然而,关于这种方法出现了两个问题:
该应用程序只能通过 MainActivity 进入,所以我想我在其 OnResume 方法中恢复了状态。但是,用户可以将我的应用程序留在任何地方。这是否意味着我应该将应用的状态存储在应用中所有活动的 OnPause 方法中?
如果我正确理解了活动的生命周期,当用户浏览我的应用程序中的活动时,也会调用 OnPause 和 OnResume。导航时无需存储和恢复;我只想在用户离开我的应用程序并恢复他返回的应用程序时存储状态。还是我应该忽略这一点并进行大量存储和恢复?
【问题讨论】:
-
我认为你应该忽略它并使用 SharedPreferences 来做。它简单且使过程快速。
-
为什么不能使用共享首选项?它适用于这类事情。
标签: android save persistence