ListView onItemClick并不总是反应,忙着UIThread

时间:2011-12-21 10:26:09

标签: android events listview ui-thread

我有一个 ListView ,每行有4张照片,还有一个照片下载管理器处理所有这些照片的下载。我限制了下载我的照片的线程数量,因为我在到达ListView时创建了太多的线程(以前是:每行4张照片*显示5或6行=> 20/25线程,+如果你滚动)

所以问题就是UI线程变得忙碌,当我在加载照片时点击我的项目时,有时会跳过 OnItemClickEvent ,并且用户必须等待下载结束点击就像疯了一样。

有没有办法避免像这样的跳过事件?

更新 我每次下载照片时都会发送广播,而 ListView 适配器上的 notifyDataSetChanged

1 个答案:

答案 0 :(得分:3)

为下载图片创建 20/25个帖子糟糕的主意

我认为您必须使用AsyncTask下载这些图片,以便您的UIThread永不被阻止,

此外,您可以使用 Fedor LazyList的延迟加载列表。

查看Lazy-Loading Images into a ListView on Android

SO问题Android - How do I do a lazy load of images in ListView

Painless Threading