将 SharedPreferences 用作磁盘缓存是一种好习惯吗?
Is it good practice to use SharedPreferences as disk cache?
我需要缓存一个对象以便在我的应用程序中每个 Activity
和 Fragment
访问它。
我试图做到这一点 static
,但是,不幸的是,有时 Android OS 将此静态设为 null,这使我的应用程序无故崩溃。
所以使用 SharedPreferences
和 Gson
来序列化和
在磁盘上缓存对象?
一般来说,您不应该过多地使用 SharedPreferences
,因为它不如本地数据库快,但实际上,如果您的 数据集不是太大 并且您只需要一个简单的缓存,则可以使用它。
一个简单的替代方法是使用 Realm。
sharedPreferences
旨在存储应在会话之间保留的数据。
如果您在应用程序启动之间需要该对象,则可以使用 sharedPreference。
对于你的问题,sharedPreference 是一个快速的解决方案,但我仍然鼓励你找到你的静态变量为 null 的原因。
我需要缓存一个对象以便在我的应用程序中每个 Activity
和 Fragment
访问它。
我试图做到这一点 static
,但是,不幸的是,有时 Android OS 将此静态设为 null,这使我的应用程序无故崩溃。
所以使用 SharedPreferences
和 Gson
来序列化和
在磁盘上缓存对象?
一般来说,您不应该过多地使用 SharedPreferences
,因为它不如本地数据库快,但实际上,如果您的 数据集不是太大 并且您只需要一个简单的缓存,则可以使用它。
一个简单的替代方法是使用 Realm。
sharedPreferences
旨在存储应在会话之间保留的数据。
如果您在应用程序启动之间需要该对象,则可以使用 sharedPreference。
对于你的问题,sharedPreference 是一个快速的解决方案,但我仍然鼓励你找到你的静态变量为 null 的原因。