2017-05-04 2 views
1

donc j'ai la photo de profil de l'utilisateur à travers plusieurs activités dans mon application. Une fois, ils changent leur image de profil, je veux m'assurer que tout le cache de mon instance de Glide est effacé. De cette façon, lorsqu'ils naviguent dans l'application, ils peuvent voir leur photo de profil mise à jour.Effacer le cache plan sur toutes les activités? - android

Actuellement, j'utilise cette méthode: Glide.get(activity).clearDiskCache(); et cela efface uniquement le cache Glide pour cette activité et pas à travers mon application.

J'espère que quelqu'un a une solution rapide, où je n'ai pas besoin d'appeler la fonction .signature() pour chaque instance de glissement dans chacune de mes activités. Ou effacer chaque cache plané dans chaque activité.

Merci!

+0

Le cache de Glide est partagé entre toutes les activités. Votre problème était que votre 'ImageView' n'affiche pas l'image de profil mise à jour. Vous pouvez sous-classer 'ImageView' et diffuser un événement pour informer votre' ImageView' de mettre à jour son propre contenu ou notifier votre 'Activity/Fragment' pour mettre à jour le contenu de' ImageView'. –

+0

ouais je craignais que je pourrais avoir à faire des mises à jour individuelles à travers toutes mes activités:/ – TheQ

+0

Sous-classe 'ImageView' aidera –

Répondre

0

Essayez

Glide.get(context).clearMemory(); 

OU

Glide.get(context).clearDiskCache(); 

Note: clearMemory() doit être appelé sur le thread principal. clearDiskCache() doit être appelé sur un thread d'arrière-plan. Vous ne pouvez pas appeler les deux à la fois sur le même fil.