2017-02-03 30 views
0

Ich weiß, es ist eine sehr grundlegende Frage. Ich habe versucht, die zahlreichen Lösungen zu finden, aber ich kann sie nicht verstehen.Löschen Cache während der Verwendung von Glide

Was ich

Upload Bild auf den Server wollen und im Gegenzug erhalte ich URL aber das Problem ist, während das Bild mit dieser URL Einstellung wird das alte Bild gesetzt. Dies geschieht, weil der Glide den alten Cache übernimmt und den Cache nicht aktualisiert.

So lösen Sie das Problem.

Glide.clear(profilePic); 

Glide.with(getApplicationContext()) 
    .load(url) 
    .diskCacheStrategy(DiskCacheStrategy.ALL) 
    .skipMemoryCache(true) 
    .transform(new CircleTransform(MainProfile.this)) 
    .into(profilePic); 

zur Zeit wird das Bild geändert, aber wenn ich die Zurück-Taste, um diese Aktivität klicken und kommen zurück, dann lädt es ein altes Bild. Laden Sie das Bild so aus dem Cache.

Das Problem ist, wenn ich zu dieser Tätigkeit zurückkomme, zeigt es altes Bild anstelle von neuem.

Antwort

0

Try this

Glide.with(DemoActivity.this) 
.load(Uri.parse("file://" + imagePath)) 
.diskCacheStrategy(DiskCacheStrategy.NONE) 
.skipMemoryCache(true) 
.into(mImage); 

Ersetzen aus DiskCacheStrategy.ALL-DiskCacheStrategy.NONE

+0

keine Hilfe. wenn ich zurückkomme zeigt es altes Bild @android_griezmann –

+0

Kein Weg es funktioniert gut für mich budd! –

+0

Ja! es funktioniert auch für mich. –

0

Vielleicht können Sie versuchen, diese:

Glide.get(context).clearDiskCache() 

Try reading this link as a ref

Doch diese Lösung scheint auch mehr zur Verfügung gestellt.

Glide.with(Activity.this) 
.load(Uri) 
.diskCacheStrategy(DiskCacheStrategy.NONE) 
.skipMemoryCache(true) 
.into(Image); 

Verweis auf die ähnliche Frage vor gefragt ist, die Sie here finden.

Hoffe, dass hilft etwas.

Prost

0

Glide hat Funktion eingebauten cache.By mit signature() Funktion alte Cache für ungültig erklärt werden können, ungültig zu machen.

GlideApp.with(MainProfile.this) 
.load(mediaStoreUri) 
.signature(new MediaStoreSignature(mimeType, dateModified, orientation)) 
.into(view);