将SharedPreferences用作磁盘缓存是一种好习惯吗?

时间:2015-10-06 12:32:17

标签: android sharedpreferences android-lifecycle

我需要缓存一个对象,以便在我的应用中每个ActivityFragment访问它。

我尝试将其设为static,但不幸的是,有时候Android操作系统会将此静态设为null,这会毫无理由地导致我的应用崩溃。

SharedPreferencesGson一起用于序列化和使用是一种很好的做法 将对象缓存在磁盘上?

2 个答案:

答案 0 :(得分:3)

通常,您不应该使用太多 SharedPreferences,因为它的不如本地数据库快,但实际上,如果你的数据集不是太大,你可以使用它,如果你只想要一个简单的缓存。

一个简单的替代方案是使用Realm

答案 1 :(得分:1)

sharedPreferences旨在存储应在会话之间保留的数据。

如果在应用程序启动之间需要该对象,则可以使用sharedPreference。

对于您的问题,sharedPreference是一个快速解决方案,但我仍然鼓励您找到静态变量为空的原因。