了解毕加索和回收站视图

Understanding picasso & recycler view

我正在尝试了解 picasso 与带有 ImageView 的 recyclerview 的行为方式。

重用ViewHolder picasso加载旧图是否可行。我是说: mPicasso.load(url1).into(imageView); mPicasso.load(url2).into(imageView); 将加载哪个图像 url 或 url2?

如何取消图片加载过程?我是说

mPicasso.load(url1).into(imageView); // Start image loading
..
// Image loading not finished, but
// ViewHolder detaches
// Should I remove any pending image loadings here or picasso will do it automatically?

提前致谢!

Well Picasso 是一个很好的图书馆,它本身就解决了很多令人头疼的编程问题。我没有使用过 Picasso ,因为我真的很喜欢使用 glide

我认为一旦视图被回收,毕加索就会处理它的取消操作。如果不是这样,那么您可以使用所讨论的过程之一轻松完成 here。请试试这个,让我知道这是否适合您

如果您希望在 ViewHolder 分离时取消 ViewHolder 上的 Picasso 请求,那么您可以使用 cancelRequest() 在您的适配器中执行类似的操作。

 @Override
        public void onViewDetachedFromWindow(ViewHolder holder)
        {
            super.onViewDetachedFromWindow(holder);
            Picasso.with(holder.notificationBannerIV.getContext()).cancelRequest(holder.notificationBannerIV);
        }