我在为Android构建一个新闻阅读器,第一个活动将显示最新消息的列表以及缩略图预览图像。 为了得到缩略图,我必须运行一个方法,这会大大增加加载时间;所以,我想创建一个单独的线程来运行每一次。 更具体地说,我想先加载新闻标题,然后逐个加载图片;同时做所有这些我不希望UI被锁定(例如,如果用户触摸消息,我希望应用程序加载它,即使这些缩略图仍然在加载)。 我的问题是:我应该使用处理程序(每个新闻一个线程)还是AsyncTask(每个新闻一个asyncTask对象)来实现这个目标?
谢谢你的回复。加载Android UI以避免锁定
0
A
回答
0
我会用一个的AsyncTask下载所有的“新闻链接”,然后有一个的AsyncTask调用的AsyncTask下载每个缩略图和更新UI onPostExecute。然后,如果用户在完成之前单击链接,则可以在主Asynctask上调用cancel,它将检查每个缩略图asynctask之间的isCancelled(),并在它被取消时返回。
0
毫无疑问,AsyncTasks比线程处理程序架构更简单和模块化,但内部它们以相同的方式执行操作。
为了解决您的问题,我建议先加载新闻。
您的新闻pojo/class可以像包含两个名称,
title和imageUrl。
现在显示新闻列表并启动另一个AsyncTask,它逐个获取图像并将它们存储在Data Str /列表中。
每次从服务器获取映像时,您的适配器都应该是“notifyDataSetChanged()”。
这样你就可以让用户先看到新闻,并且图片被加载而不会使UI被阻塞。
0
我机智使非同步任务加载数据,然后EXCUTE任务这就是填充列表时,异步任务是唐矿正在运行
相关问题
- 1. 避免冻结UI,同时加载
- 2. 避免加载
- 3. 工作,避免锁
- 4. 咨询锁或NOWAIT以避免等待锁定的行?
- 5. 如何避免SQLiteException锁定错误
- 6. 如何避免装载机锁?
- 7. 避免sqlite3的数据库锁定
- 8. MySQL - 如何避免查询锁定
- 9. 如何避免mysql死锁?
- 10. 获取对两个互斥锁的锁定并避免死锁
- 11. 在mysql更新中跳过锁定行以避免锁定超时
- 12. android线程 - 锁定UI?
- 13. 抢先避免死锁
- 14. 我应该如何锁定以避免重复数字
- 15. 如何避免在Angular 2 + PrimeNG中的数据加载之前加载UI?
- 16. 如何避免随机UI?
- 17. 通过异步同步避免死锁并防止UI响应
- 18. 卸载通过load()加载的JS以避免重复?
- 19. 避免在锁定屏幕恢复应用程序
- 20. 如何避免数据库死锁
- 21. 策略,以避免
- 22. Android-避免文件从Firebase下载一次以上
- 23. 避免加载jQuery的多次
- 24. 避免重新加载UITableView数据
- 25. 避免字体的延迟加载
- 26. 避免多次重新加载xml
- 27. 避免影响加载列表
- 28. 避免多次加载纹理
- 29. 避免页面加载点击
- 30. Spring Data + JPA如何避免加载列
多少新闻,我们谈论的同时? – JOG 2012-01-04 15:48:01
十四条新闻加载 – user1012480 2012-01-04 15:51:06