【发布时间】:2015-06-29 10:41:12
【问题描述】:
我一直在研究为我的应用程序存储数据,并尝试在不同的方法(onSaveInstanceState、onPause/onResume)和不同的存储方法(onSaveInstanceState、SQLite、Prefences 中的状态)之间进行选择。
我很好奇当用户做某些事情时,这些存储方法中的每一种会发生什么。具体来说,我想知道调用了哪些方法以及何时擦除了哪些数据:
- 用户单击任务切换器按钮(右下角),然后在几秒钟内关闭覆盖,所有操作均在应用内完成
- 用户在没有从任务切换器中滑出应用程序的情况下单击主页,然后重新打开应用程序
- 用户点击主页,从任务切换器中滑出应用程序,然后重新打开应用程序
- 用户退出应用,重启手机,然后打开应用
- 用户退出应用,并使用Clean Master(或任何其他存储管理器)清除所有应用的缓存或杀死所有后台任务,然后重新打开应用。
- 用户更新应用
【问题讨论】:
-
请指定您将制作的应用类型以及您将存储的数据类型。告诉你“在这些过程中究竟调用了哪些方法”否则将花费太多时间。您的特定用例将推动架构的选择,而您的架构将推动您需要使用的回调的选择。
-
@StephanBranczyk 这是个好主意;我正在尝试存储高分。目前我只是使用 savedpreferences 并将 5-6 个数字放在编辑器中,提交并继续。可能有更有效的方法,这就是为什么我在上面详细阐述了不同的可能性。
标签: android database sqlite state android-savedstate