我有一个RecyclerView,每个RecyclerView项目都有
ImageView.
我正在使用Glide在ImageView中加载图像,当我向下滚动RecyclerView时它会加载图像,这很好,但是当我再次爬上RecyclerView它再次加载那些已经加载的图像.我不想再次加载已经加载的图像.
我正在使用Glide在ImageView中加载图像,当我向下滚动RecyclerView时它会加载图像,这很好,但是当我再次爬上RecyclerView它再次加载那些已经加载的图像.我不想再次加载已经加载的图像.
我使用以下代码使用Glide加载图像
Glide.with(mActivity) .load(img.getmGridViewImageUrl()) .into(imageHolder.imageView);
解决方法
您可以将图像缓存在磁盘或内存中.
默认情况下,图像由Glide缓存在Memory中
知道Glide会默认将所有图像资源放入内存缓存中也是一件好事.因此,不需要特定的调用.skipMemoryCache(false).
如果要在磁盘中启用缓存,可以使用以下方法之一
> DiskCacheStrategy.SOURCE仅缓存原始的全分辨率
图片.
> DiskCacheStrategy.RESULT在缩小后仅缓存最终图像
分辨率(和可能的转换)
> DiskCacheStrategy.ALL缓存图像的所有版本(默认值
行为)
用法:
Glide .with( context ) .load( url ) .diskCacheStrategy( DiskCacheStrategy.ALL ) .into( imageViewInternet );