2016-01-13 2 views

ответ

11

1) Если ваше изображение не меняется быстро, вы можете использовать функцию кеширования Glide и кеширования памяти. Определите стратегию, используя метод .diskCacheStrategy(DiskCacheStrategy). Там нет несколько DiskCacheStrategy вы можете использовать:

  • DiskCacheStrategy.NONE кэши ничего
  • DiskCacheStrategy.SOURCE кэширует только оригинальное с полным разрешением изображения.
  • DiskCacheStrategy.RESULT кэширует только окончательное изображение после уменьшения разрешения
  • DiskCacheStrategy.ALL кэширует все версии изображения. Это поведение по умолчанию

2) Если ваше изображение быстро меняется, вам нужно будет сразу загрузить кешированное изображение, а затем выполнить сетевой вызов, чтобы получить обновление и загрузить его, если удастся. Есть способы сделать это, но, возможно, вы хотите посмотреть на RxJava и .concat

+0

@ Загар, был ли ответ какой-либо помощи вам? –

+0

Не совсем, потому что я хотел был устранить отставание. Хотя Glide проверяет, что URL-адрес изменяет и перезагружает новое изображение, я хотел, чтобы он отображал тот, который уже был кеширован, то есть image 1 = http://awesome.image.com/myawesomeimage.png [cached] image 2 = http://awesome.image.com/otherimage.png [новый для загрузки] Glide покажет myawesomeimage.png при загрузке otherimage.png Но я благодарю вас за ваш ответ, так как я вижу, что вы помогли другим членам сообщества. – Celggar