Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在自己的线程中更新listview中图像的专业方法_Android_Multithreading_Image_Imageview - Fatal编程技术网

Android 在自己的线程中更新listview中图像的专业方法

Android 在自己的线程中更新listview中图像的专业方法,android,multithreading,image,imageview,Android,Multithreading,Image,Imageview,像WhatsApp那样在ListView中更新ImageView的专业方法是什么?我怎么会意识到这一点?似乎图像的更新和下载序列需要在它自己的线程中运行,但是在哪种线程中,这样我就不会因为更改UI线程而遇到麻烦?对于异步图像加载,我强烈建议 加载图像而不考虑哪个线程将处理它的最简单方法如下所示- aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png"); 关于列表视图,您还应该看看延迟

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

对于异步图像加载,我强烈建议

加载图像而不考虑哪个线程将处理它的最简单方法如下所示-

aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png");
关于列表视图,您还应该看看延迟图像加载部分。

看看库。根据我的经验,这是最好的图像加载器库。非常易于使用&最重要的是在listview中执行优化- 专门用于在适配器中处理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);
}

你不想更清楚你到底想要什么。比如what's应用程序不是一个好的描述——这里有一半的回答者不使用该应用程序的可能性很大,谁知道我们使用的应用程序的哪个版本可能有完全不同的行为。这是一个很好的观点。谢谢这是一个与版本无关的一般性问题。它是关于在ListView中更新ImageView的。如果我有3个选项卡,请从一个更改为另一个。我希望ListView选项卡在返回后得到更新。您可以直接从服务器加载图片。如果你更换一个,它会加载它-