如何在Android中没有ANR的情况下粘贴大量数据?

时间:2014-09-29 13:37:22

标签: android json

我的Json服务有2700条记录,我想在我的应用程序中显示这些记录。 解析数据时需要8分钟才能解析。所以我的应用程序变得没有响应。

如何分段解析数据?

请建议我最好的方法。

此致 Sravanya

2 个答案:

答案 0 :(得分:2)

IntentService适用于这种长计算。 8分钟。不是AsyncTask的可接受持续时间,因为用户/ Android系统很可能在完成处理之前终止您的应用程序。因此使用外部服务。

但是你肯定在这里犯了错误:获取2700条记录并不是一个好主意(网络使用太多),如果花费这么多时间(电池使用量过多),解析它们也不是。您必须将获取的内容限制为仅需要的数据,并且可能会使用多个请求来获取您需要的内容。

答案 1 :(得分:0)

使用AsyncTask这将允许您使用单独的线程处理主UI。处理完成后,您可以触发广播侦听器或使用onPostExecute更新带有结果的UI。

8分钟是很长一段时间,考虑是否可能减少所请求数据的大小。