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