每次滚动recyclerview时滑动加载图像

时间:2016-01-25 04:58:22

标签: android android-recyclerview android-glide

我有一个RecyclerViewRecyclerView的每个项目都有ImageView。 我正在使用 Glide 加载ImageView中的图片,当我向下滚动RecyclerView时,它会加载图片,这很好,但是当我再次向{{1}转发时它再次加载那些已经加载的图像。我不想再次加载已加载的图像。

我使用以下代码使用Glide

加载图片
RecyclerView

3 个答案:

答案 0 :(得分:9)

您可以将图像缓存在磁盘或内存中。

默认情况下,图像缓存在Memory by Glide

知道Glide会默认将所有图像资源放入内存缓存中也很好。因此,不需要特定的调用.skipMemoryCache(false)。

如果要在磁盘中启用缓存,可以使用以下其中一种

  1. DiskCacheStrategy.SOURCE仅缓存原始的全分辨率 图像。
  2. DiskCacheStrategy.RESULT在缩小后仅缓存最终图像 分辨率(以及可能的转换)
  3. DiskCacheStrategy.ALL缓存图像的所有版本(默认值 行为)
  4. 用法:

    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);