我有一个 ListView ,每行有4张照片,还有一个照片下载管理器处理所有这些照片的下载。我限制了下载我的照片的线程数量,因为我在到达ListView时创建了太多的线程(以前是:每行4张照片*显示5或6行=> 20/25线程,+如果你滚动)
所以问题就是UI线程变得忙碌,当我在加载照片时点击我的项目时,有时会跳过 OnItemClickEvent ,并且用户必须等待下载结束点击就像疯了一样。
有没有办法避免像这样的跳过事件?
更新 我每次下载照片时都会发送广播,而 ListView 适配器上的 notifyDataSetChanged 。
答案 0 :(得分:3)
为下载图片创建 20/25个帖子是糟糕的主意。
我认为您必须使用AsyncTask
下载这些图片,以便您的UIThread永不被阻止,
此外,您可以使用 Fedor LazyList的延迟加载列表。
查看Lazy-Loading Images into a ListView on Android