我有以下问题。我正在开发一种消耗服务器数据的移动解决方案。对于这些HTTP事务,我显然使用AsyncTask来将此通信任务与主线程分开。但是,在成功响应之后,我需要构建一个真正的大表格布局(具有2000 - 10000个表行或更多)来插入数据内部的所有记录。因此,如果我开始在主线程中构建表,我将始终遇到ANR问题(应用程序无响应对话框)。
另一方面,众所周知,我不能修改/添加/触摸不是UI线程的不同线程中的元素,所以我无法进行这种繁重的表处理。
听到了建议。提前谢谢。
答案 0 :(得分:1)
您可以使用分页存档它,您可以先显示20行,向下滚动到达底部,添加20个元素的其他块,依此类推。
答案 1 :(得分:0)
为什么不使用onPostExecute
的{{1}}方法来完成此操作?您可以在AsyncTask
中执行所有繁重的处理,然后在完成后,只需更新在doInBackground
上运行的用户界面onPostExecute
中的用户界面。您可以在此处找到有关Thread
的更多信息:http://developer.android.com/reference/android/os/AsyncTask.html