Android – [Glide] Использование дискового кэша

Я разрабатываю приложение, которое показывает изображения в RecyclerView с помощью замечательной библиотеки Glide. По мере увеличения количества изображений увеличивается и использование памяти. Дело в том, что когда я проверяю использование кеша моего приложения с помощью ES File Explorer, он говорит 0 КБ, и это странно. Я использовал:

Glide.with(context)
.load(youtubeShareThumbnailUrl)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.skipMemoryCache(true)
.centerCrop()
.into(((ObjectViewHolder) holder).userPostShareYoutubeImage);

Я просто неправильно понимаю "кеш"? Что я думаю:

Кэш памяти — это то, что отображается на мониторе Android на вкладке «Память», а кеш диска — это кеш приложения, отображаемый в ES File Explorer.

Превышение кэша памяти для приложения вызовет ошибку OOM, в то время как кэш диска на самом деле не имеет ограничений, поскольку он хранится в хранилище.


person Kevin Murvie    schedule 19.04.2016    source источник


Ответы (1)


Извините, если я не правильно понял ваш вопрос, если вы пытаетесь кэшировать изображение на диске, я бы предложил избавиться от бита skipMemorycache (true). И AFAIK glide загружает изображение один раз и сохраняет их в кэше диска для дальнейшего использования (если включено), поэтому использование памяти (RAM) не заметно, когда вы загружаете одно и то же изображение или наборы изображений во второй раз :)

person Assassiŋ Shaɖow    schedule 27.04.2016
comment
Хм, я думал, что skipMemoryCache() указывает на то, что память не используется в качестве кеша. Что это, кстати? И как тогда включить кеширование диска? Потому что когда я прокручиваю обратно вверх, он хоть и небольшой, но все же достаточно заметный.. - person Kevin Murvie; 28.04.2016