Android 在本地存储数据以供离线访问

标签 android performance

在我的项目中,有一个场景,当设备在线时,我正在获取 Json 数据作为响应。当设备处于离线状态时,我需要相同的数据。

我尝试使用以下方法将数据保存到默认 SharedPreference 文件中

PreferenceManager.getDefaultSharedPreferences(context).edit().putString("contactobject", result.toString()).apply();

并且像使用一样从 SharedPreference 文件中检索数据

String result = PreferenceManager.getDefaultSharedPreferences(context).getString("contactobject", "");

问题是,通过使用 SharedPreference,内存的使用率很高。

问题:有没有其他更好的方法像WebView一样将数据保存在Cache内存中以获得更好的性能。

最佳答案

只需将 JSON 写入您的缓存目录即可。如果您处于离线状态,请从缓存文件中读取它,并在您在线时更新您的缓存。简单的 JSON 不需要数据库。说真的。

关于Android 在本地存储数据以供离线访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519481/

相关文章:

java - 安卓 UIAutomator : setAsHorizontalList() throws noSuchMethodError

Android如何处理一次加载数据?

python - 使用列和行索引函数填充数据帧缺失元素的最有效方法

arrays - 如何矢量化此代码?

android - LazyColumn 内的 LazyHorizo​​ntalGrid

android - Proguard - 找不到 [com/google/android/gms/d/kl] 的通用父类(super class)

android - 如何在 Android Canvas 上为路径设置动画

mysql - 使用正确数据类型的性能优势

algorithm - Roofline 模型 - 如何计算 flop/byte 比率?

sql - Oracle ORA-04030 即使在循环中使用绑定(bind)变量