【发布时间】:2012-10-05 18:11:23
【问题描述】:
问题是:当我开始学习为 android 开发时,我想我会将我的内部数据存储在一个专用类中的公共静态变量中,仅用于此目的,这样我就可以轻松地从任何活动中访问它们,并且它过去和现在都非常重要,不会有任何重复,并且这些值始终是唯一的,类似于 Singleton 模型。这非常有效,但它肯定不是最漂亮的解决方案。当用户通过主页按钮将应用程序置于后台时,问题就开始了。它仍然存在,因为天知道有多少时间,可能是几分钟,可能是几天,甚至更多……然后他重新打开应用程序,所有这些静态变量都变为空,因为系统已经破坏了它们。这些变量中的一些是简单的字符串,但有些是非常复杂的、自己的类。
第一个问题是,当应用程序进入后台时,我可以依赖任何全局挂钩,我可以在哪里保存这些数据?因此,当用户再次将应用程序拉到前台时,我可以从保存状态重新初始化这些变量。
第二个问题是,保存这些复杂数据的最佳方法是什么?据我了解,对于保存字符串 SharedPreferences 很好,但是更复杂的类呢?我也可以使用 SharedPreferences,还是应该使用其他东西?
目前我能想到的就这些了,谢谢提前帮助!
【问题讨论】: