我有一个RecyclerView
,RecyclerView
的每个项目都有ImageView
。
我正在使用 Glide 加载ImageView
中的图片,当我向下滚动RecyclerView
时,它会加载图片,这很好,但是当我再次向{{1}转发时它再次加载那些已经加载的图像。我不想再次加载已加载的图像。
我使用以下代码使用Glide
加载图片RecyclerView
答案 0 :(得分:9)
您可以将图像缓存在磁盘或内存中。
默认情况下,图像缓存在Memory by Glide
中如果要在磁盘中启用缓存,可以使用以下其中一种
DiskCacheStrategy.SOURCE
仅缓存原始的全分辨率
图像。DiskCacheStrategy.RESULT
在缩小后仅缓存最终图像
分辨率(以及可能的转换)DiskCacheStrategy.ALL
缓存图像的所有版本(默认值
行为)用法:
Glide
.with( context )
.load( url )
.diskCacheStrategy( DiskCacheStrategy.ALL )
.into( imageViewInternet );
答案 1 :(得分:0)
执行此操作 diskCacheStrategy(DiskCacheStrategy.RESULT)后,我在feedler中看到这是从网络加载图像..我只是滚动网格回收站视图..
答案 2 :(得分:0)
你不能直接使用这种方法,如下所示我会工作
RequestOptions requestOptions = new RequestOptions();
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with( context )
.load( imagesModelList.get(position).getUrl() ).apply(requestOptions)
.into( holder.imageView );
holder.delete_item.setVisibility(View.VISIBLE);