在自己的线程中更新列表视图中图像的专业方法

professional way to update images in a listview in own thread

像 WhatsApp 那样更新 ListView 中的 ImageView 的专业方法是什么?我怎么会意识到这一点?似乎图像的更新和下载顺序需要 运行 在它自己的线程中,但是在哪种线程中这样我就不会因为更改 UI-线程而遇到麻烦?

对于异步图像加载,我强烈推荐 aquery

最简单的加载图像的方法,而不用担心哪个线程会处理它,看起来像。-

aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png");

关于 ListViews,你也应该看看 Delay Image Loading 部分。

看看 Picasso 图书馆。根据我的经验,它是最好的图像加载器库。非常易于使用,最重要的是在列表视图中进行了优化。- 专门用于在适配器中处理ImageView回收和下载取消
来自他们网站的示例-

自动检测适配器重复使用并取消之前的下载。

@Override
public void getView(int position, View convertView, ViewGroup parent) {
  SquaredImageView view = (SquaredImageView) convertView;
  if (view == null) {
    view = new SquaredImageView(context);
  }
  String url = getItem(position);

  Picasso.with(context).load(url).into(view);
}