在Glide v4中区别DiskCacheStrategy

时间:2017-09-21 17:14:38

标签: java android android-glide

我在我的一个Android应用程序中使用Glide 4.1.1。我在下面的代码中使用它,并且在应用程序中没有遇到任何问题。

Glide.with(context)
                .load(constant.BASE_URL+"images/"+data.getPicture())
                .apply(new RequestOptions()
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .dontAnimate()
                .centerCrop()
                .dontTransform())
                .into(holder.imageView);

我怀疑.diskCacheStrategy(DiskCacheStrategy.ALL)选项。总共有五种类型选项,如下所示

.diskCacheStrategy(DiskCacheStrategy.ALL)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.diskCacheStrategy(DiskCacheStrategy.DATA)
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)

我试图找到它的文档,但无法找到它之间的区别。让我知道是否有人使用它并知道这一切之间的区别是什么以及何时应该使用它。 感谢

2 个答案:

答案 0 :(得分:47)

  • Glide 3.x& 4.x:DiskCacheStrategy.NONE没有缓存任何内容
  • Glide 4.x:DiskCacheStrategy.DATA,Glide 3.x: DiskCacheStrategy.SOURCE仅缓存原始的全分辨率 图像。
  • Glide 4.x:DiskCacheStrategy.RESOURCE Glide 3.x: DiskCacheStrategy.RESULT在缩小后仅缓存最终图像 分辨率(和可能的转换)(默认行为) Glide 3.x)
  • 仅限Glide 4.x:DiskCacheStrategy.AUTOMATIC智能地选择一个 基于资源的缓存策略(Glide 4.x的默认行为)
  • Glide 3.x& 4.x:DiskCacheStrategy.ALL缓存了所有版本的 图像

进一步阅读this

答案 1 :(得分:0)

我认为此链接将解决您与缓存策略有关的所有问题   Glide3.x或Glide4.x Glide-Caching-Strategy