Очистить кэш изображений Glide в Android

Я использую библиотеку glide для показа изображений. Я пытаюсь очистить кэш скольжения, используя следующий код:

Glide.get(MainActivity.this).clearDiskCache();
Glide.get(MainActivity.this).clearMemory();

приведенный выше код находится внутри Async, и я вызываю фоновую часть Do.

Когда я запускаю это, я всегда получаю:

Caused by: java.lang.IllegalArgumentException: You must call this method on the main thread
at com.bumptech.glide.util.Util.assertMainThread(Util.java:135)
at com.bumptech.glide.Glide.clearMemory(Glide.java:370)

Что здесь может быть не так? Если я использую вышеуказанное в MainThread, он просит запустить его в фоновом режиме.

Как очистить кеш?

Спасибо!


person Sanjana Nair    schedule 23.03.2016    source источник
comment
Вы пытались выполнить Glide.get(MainActivity.this).clearMemory(); в onPostExecute() ?   -  person Much Overflow    schedule 23.03.2016
comment
Неа. Я попробую.   -  person Sanjana Nair    schedule 23.03.2016
comment
@MuchOverflow: Это была проблема. Извини, я виноват! В любом случае спасибо!   -  person Sanjana Nair    schedule 28.03.2016


Ответы (1)


clearMemory() должен вызываться основной поток. clearDiskCache() должен вызываться фоновая ветка.

Вы не можете вызывать оба сразу в одном потоке.

person Sam Judd    schedule 27.03.2016