在我的项目中,有一个场景,当设备在线时,我正在获取 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/