我需要缓存一个对象,以便在我的应用中每个Activity
和Fragment
访问它。
我尝试将其设为static
,但不幸的是,有时候Android操作系统会将此静态设为null,这会毫无理由地导致我的应用崩溃。
将SharedPreferences
与Gson
一起用于序列化和使用是一种很好的做法
将对象缓存在磁盘上?
答案 0 :(得分:3)
通常,您不应该使用太多 SharedPreferences
,因为它的不如本地数据库快,但实际上,如果你的数据集不是太大,你可以使用它,如果你只想要一个简单的缓存。
一个简单的替代方案是使用Realm。
答案 1 :(得分:1)
sharedPreferences
旨在存储应在会话之间保留的数据。
如果在应用程序启动之间需要该对象,则可以使用sharedPreference。
对于您的问题,sharedPreference是一个快速解决方案,但我仍然鼓励您找到静态变量为空的原因。