我有一个Android移动应用程序,它使用WCF REST服务,该服务会发回任意大量的数据。该服务以块的形式发送此数据。在一个块的末尾有一个指示符,表明存在更多,如果该指示符被传递回服务,则发送下一个块。
此数据将放入应用程序中的ListView中。我想要做的是调用服务循环并使用处理程序在数据来源时更新listview。
我有几个问题:
我是否需要在AsyncTask中循环AsyncTask或循环?
和
最好在数据进入时更新ListView或获取所有数据,然后用所有数据更新ListView?
对这些问题的任何答案或对此过程的见解都将不胜感激。
答案 0 :(得分:0)
-AsyncTask更适用于快速一次性操作。将一些记录插入数据库,发送查询,触发一个简短的HTTP请求(比如ping服务器)。它并不意味着更长的过程,例如从服务器下载大量数据。在这个特殊情况下,我会跳过AsyncTask并只创建一个后台工作线程。当有工作要做时,给线程发一个唤醒电话,让它在剩下的时间里休息。
- 是否最好逐步更新列表视图或一次性更改可能因应用程序类型而异,但通常以增量方式更新体验,因此用户有一定的进步感。