0

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

每次获取提要时将原始数据写入内部存储是否可取?

4

3 回答 3

1

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

于 2014-05-10T18:10:17.503 回答
0

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

祝你好运。

于 2014-05-10T18:33:22.647 回答
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);
于 2014-05-11T00:04:46.830 回答