Разница DiskCacheStrategy в Glide v4

Я использую Glide 4.1.1 в одном из приложений для Android. Я использую его с кодом ниже и не сталкиваюсь с какой-либо проблемой в приложении.

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)

Я попытался найти его документацию, но не смог найти разницу между этим. Дайте мне знать, если кто-то использовал его и поняли, в чем разница между всем этим и когда мы его используем. Спасибо

Ответ 1

  • 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 кэширует все версии изображения

Далее прочитайте это

Ответ 2

Я думаю, что эта ссылка решит все ваши проблемы, связанные со стратегией кэширования. Glide3.x или Glide4.x Glide-Caching-Strategy.