【问题标题】:Understanding picasso & recycler view了解毕加索和回收者的观点
【发布时间】:2017-11-20 14:53:35
【问题描述】:

我正在尝试了解 picasso 在 recyclerview 和 ImageViews 中的表现。

是否可以重用ViewHolder毕加索加载旧图像。我是说: 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?

提前致谢!

【问题讨论】:

  • 是的,但是有没有内置的触发器让毕加索在视图分离时取消加载?

标签: android android-recyclerview imageview picasso


【解决方案1】:

Picasso 是一个很好的库,可以自己处理大部分编程难题。我没有使用过 Picasso,因为我真的很喜欢使用 glide

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

【讨论】:

  • 感谢您的回答!我认为毕加索无法知道我们的视图支架何时分离。所以我应该手动取消请求。
  • 然后查看链接,这样你就可以取消请求了
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多