Android Java 回收视图滚动:它会重新下载图像吗?

问题描述

我在回收站视图中使用了毕加索。我想知道缓存:当我向下滚动时,图像消失,当我再次向上滚动时,它们再次显示。但是它显示下载进度条,需要一秒钟才能显示出来。

我的代码

                Picasso.get().load(profileUrl).placeholder(R.drawable.placeholder_image).fit().into(postViewHolder.profileImg);

我想避免多次下载相同的图像。还是只是缓存需要一些时间才能再次显示已缓存的图像?

解决方法

毕加索应该自动缓存图像。您可以使用 Picasso 单例实例上的 setIndicatorsEnabled 方法检查它是否已缓存。

  • 红色:通过网络下载。
  • 蓝色:图像已缓存在光盘上。
  • 绿色:图像已缓存在内存中。
,

毕加索默认缓存图片。如果您不想使用此代码进行缓存

Picasso.with(context).load(uri).networkPolicy(NetworkPolicy.NO_CACHE).memoryPolicy(MemoryPlicy.NO_CACHE).placeholder(R.drawable.placeholder).into(imageView);