我有一个Activity A
打开的Activity B
. 在 B 的生命周期中,它会创建大量对以后使用很重要的数据。当我离开时Activity B
,它会被摧毁。我希望当用户下次打开 B 时,可以恢复重要数据。
所以问题是,如何存储这些重要数据?
我有几个假设:
共享首选项 (
context.getPrecerence(MODE_PRIVATE)
)。这不是一个好的选择,因为它只允许保存原始类型。我需要保存 java.io.Serializable 对象(或至少Parcelable
)。静态变量 - 不是一个选项。即使当用户导航到其他应用程序时 JVM 破坏了我的进程,我也希望我的数据保留。
Context.openFileOutput()
. 每次我进入活动/退出时都可以进行 I/O 吗?
还有什么?