Glide хранение кеша

150
31 марта 2019, 21:00

В приложения для загрузки изображений используются Glide. Как известно Glide кеширует изображения. При повторной попытке загрузить изображения он выводит изображения из кеша. Так получилось что я поменял изображения на сервере но из-за кеширование в приложении изменение не видно.

Сколько времени нужно Glide чтобы кеш устарел и он загрузил новое изображения?

Answer 1

Я думаю вам придется обновить свое приложение (клиентскую часть). Причем обновить способ генерации хэша по которому кэшируются картинки - прочтите Custom Cache Invalidation

Glide.with(yourFragment)
    .load(yourFileDataModel)
    .signature(new StringSignature(yourVersionMetadata))
    .into(yourImageView);

Где StringSignature вычисляет хэш не по имени файла/Uri, а по его времени модификации и имени. Так что в следующий раз, когда вы поменяете свои файлы на сервере, то кэш автоматически обновится (поскольку время модификации поменяется).

Грубо говоря, Glide работает так:

  1. Встречает файл/Uri
  2. Вычисляет от него хэш
  3. По этому хэшу ищет у себя в кэше файл и подгружает его

по умолчанию Glide вычисляет хэш по имени файла/Uri, а вам нужно чтобы он еще учитывал время его модификации.

READ ALSO
JavaFX проблемы с TableView на различных объектах

JavaFX проблемы с TableView на различных объектах

Есть SplitPane, в которую я вложил TableViewИ появляются некоторые вопросы

122
Задача на создание функции JS [закрыт]

Задача на создание функции JS [закрыт]

Написать функцию, которая принимает три параметра n1, n2 и n3 где число n1 – стартовое число массива, n2 - количество элементов массива, n3 – количество...

142