2016-03-23 16 views
2

私は画像を表示するためにグライドライブラリを使用しています。私は、次のコードを使用してグライドキャッシュをクリアしようとしています:Androidのグライドイメージキャッシュをクリア

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

上記のコードは非同期の内部にあると私は背景部分に呼び出します。私はこれを実行すると

私は常に取得しています:ここで間違っている可能性が

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で上記を使用すると、バックグラウンドで実行するよう求められます。

キャッシュをクリアするにはどうすればよいですか?

ありがとうございます!

+1

onPostExecute()で 'Glide.get(MainActivity.this).clearMemory();'を実行しようとしましたか? –

+0

やってみます。 –

+0

@MuchOverflow:それは問題でした。申し訳ありません、私の悪い!とにかく、ありがとう! –

答えて

8

clearMemory()をメインスレッドで呼び出す必要があります。 clearDiskCache()は、バックグラウンドスレッドで呼び出される必要があります。

同じスレッドで両方を同時に呼び出すことはできません。

関連する問題