2017-05-04 8 views
1

私は私のアプリで複数のアクティビティにわたってユーザーのプロフィール写真を持っています。一度、彼らは彼らのプロフィールイメージを変更し、私はすべての私のグライドインスタンスのキャッシュがクリアされていることを確認したい。そうすれば、アプリの周りをナビゲートして、彼らは更新されたプロフィール画像を見ることができます。すべてのアクティビティでグライドキャッシュをクリアしますか? - android

現在、私はこの方法を使用しています:Glide.get(activity).clearDiskCache();そして、そのアクティビティのGlideキャッシュのみをクリアし、私のアプリケーションではクリアしません。

誰かが私のアクティビティのそれぞれのグライドインスタンスに対して.signature()関数を呼び出す必要はありません。または、各アクティビティの各グライドキャッシュをクリアします。

ありがとうございます!

+0

'Glide'のキャッシュはすべてのアクティビティで共有されています。あなたの問題は、あなたの 'ImageView'が更新されたプロフィール画像を表示していないことでした。 'ImageView'をサブクラス化してイベントをブロードキャストして' ImageView'に通知し、 'ImageView'の内容を更新するように 'Activity/Fragment'に通知することができます。 –

+0

ええ、私は私のすべての活動を通して個別の更新をしなければならないのではないかと心配しました:/ – TheQ

+0

サブクラス 'ImageView'が役立ちます –

答えて

0

Glide.get(context).clearMemory(); 

OR

Glide.get(context).clearDiskCache(); 

をお試しください: clearMemoryは()メインスレッドで呼び出さなければなりません。 clearDiskCache()は、バックグラウンドスレッドで呼び出される必要があります。同じスレッドで両方を同時に呼び出すことはできません。

関連する問題