Изображение не обновляется, загружается с помощью залпа и скольжения - PullRequest
0 голосов
/ 05 октября 2018

Screenshot of app Я использую библиотеку Volley в своем приложении для загрузки изображения и Glide для установки изображения в режиме просмотра текста.У меня есть кнопка для обновления изображения, которое открывает галерею и позволяет пользователю выбрать изображение.Затем файл успешно загружен в определенную папку, но изображение остается тем же.Я также попытался выйти из системы и войти в систему пользователя, который стирает значения в ShredPreferences, все данные обновляются, но изображение остается тем же.Старое изображение заменяется новым в папке сервера, но все равно отображается в приложении.Он обновляется только после очистки данных приложения от Settings.Почему это происходит?Glide хранит данные кеша?как от этого избавиться?

1 Ответ

0 голосов
/ 05 октября 2018

Glide кэширует изображение с сервера по умолчанию.Так что, если ваш URL не меняется, он покажет вам изображение из кэша.Чтобы обойти это, вы можете использовать RequestOptions:

RequestOptions requestOptions = new RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .skipMemoryCache(true);

 Glide.with(this)
      .load(YOUR_IMAGE_URL)
      .apply(requestOptions)
      .into(YOUR_IMAGEVIEW);

EDIT (Пикассо)

Если вы используете Picasso, применяется тот же случай.В этом случае вы должны использовать:

Picasso.with(this)
                .load(YOUR_IMG_URL)
                .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
                .networkPolicy(NetworkPolicy.NO_CACHE)
                .into(YOUR_IMAGEVIEW);
...