我是一位能够翻译文本的助手。
问题是,解析JSON源的第一行代码有点费时。在我的目前大小的源(可能会增长)中,它需要大约半秒钟才能完成,虽然不多,但仍然是一个问题。例如,我点击按钮调用活动(以显示数据),这个1/2秒的暂停是明显的,不好的。
我有一个大字符串,代表着JSON源。我的应用会从远程网络服务下载这个源。
问题:
1)当我下载JSON源后,应该把它放在哪里?目前我将其存储在应用程序首选项中,这样做很好用。只是我想知道是否有任何理由不这么做,或者是否有更好/更快的选择,比如内部存储或其他什么东西?
2)当我要在我的activity中显示来自这个源的数据时,我会这样做:
JSONObject jsonObj = new JSONObject(json_string);
JSONArray jsonArr = jsonObj.getJSONArray("root");
for (int m = 0; m < jsonArr.length(); m++) {
....
}
问题是,解析JSON源的第一行代码有点费时。在我的目前大小的源(可能会增长)中,它需要大约半秒钟才能完成,虽然不多,但仍然是一个问题。例如,我点击按钮调用活动(以显示数据),这个1/2秒的暂停是明显的,不好的。
为了避免这种暂停,我应该在下载源后立即解析JSON。那么问题是,我应该把解析后的JSON对象存储在哪里?
i)我不能将JSON对象保存到首选项中,因为只能存储基本数据。
ii)我应该在每次启动应用程序时进行解析,并使我的解析后的JSON对象(我有更多)全局(在应用程序级别)以便我可以从所有活动中访问它们吗?
iii)或者,我相信我的第三个选择是声明JSON对象静态,以便可以轻松地从其他活动中访问它们?
哪种方法最好?
谢谢。