在每次加载时将JSON文件缓存到内部存储

时间:2014-05-10 17:37:46

标签: java android android-json

我有一个Android应用,每5秒加载一个远程JSON Feed。 JSON文件的有效负载大约为240kb。我还想缓存这些数据,以便用户可以在离线时查看上次加载的Feed。

每次提取Feed时,是否建议将原始数据写入内部存储器?

3 个答案:

答案 0 :(得分:1)

我不会。我将内存缓存它,并将最后一个版本写入onPause()中的文件系统。这样你就不会经常写入磁盘。

答案 1 :(得分:0)

我同意加布。将数据保存在onPause()方法中。您永远无法确定系统或用户何时终止您的应用,因此将onPause()方法应用于您应用中的每个活动,然后调用将执行保存到应用缓存目录的类或静态方法。

最好的运气。

答案 2 :(得分:0)

为什么不使用SharedPreferences?

SharedPreferences sharedPref = getSharedPreferences("Test", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("jsondata", jobj.toString());

...

String strJson = sharedPref.getString("jsondata");
if(strJson != null) JSONObject jsonData = new JSONObject(strJson);