2017-12-27 21 views
0

Die Imagedatei wird vom Server heruntergeladen und immer unter dem gleichen Dateinamen gespeichert.Glide v4.4 deaktiviert den Speichercache und den Festplattencachefehler

So in früheren Version von glide, habe ich mit

Uri uri = Uri.fromFile(new File(downloadPath)); 
GlideApp.with(this) 
     .load(uri) 
     .diskCacheStrategy(DiskCacheStrategy.NONE) 
     .skipMemoryCache(true) 
     .into(mDownloadImageView); 

getestet Es Arbeit für die Datei mit dem gleichen Namen scheint, wenn sein Bild ändert. Das offizielle Dokument Glide Caching wie oben erwähnt.

Aber jetzt in Glide 4.4.0, ich habe diesen Code wieder verwendet und es funktioniert nicht. Ich muss die Signatur wie folgt hinzufügen:

Uri uri = Uri.fromFile(new File(downloadPath)); 
GlideApp.with(this) 
     .load(uri) 
     .signature(new ObjectKey(System.currentTimeMillis())) 
     .diskCacheStrategy(DiskCacheStrategy.NONE) 
     .skipMemoryCache(true) 
     .into(mDownloadImageView); 

Nach dem Hinzufügen des Signaturschlüssels funktioniert es.

Hat jemand das gleiche Szenario getroffen? DiskcacheStrategy None und Überspringen des Speicher-Caches als überhaupt kein Effekt für mich.

Antwort

0

Ja, ich habe das gleiche Problem. Ich muss die Signatur verwenden, wenn diskCacheStrategy() auf NONE und skipMemoryCache() auf true gesetzt ist, wenn ich das Image jedes Mal aktualisieren möchte.

Ein anderes Problem ist, dass, wenn ich diskCacheStrategy() auf ALL mit einigen Signatur (um Cache-Aktualisierung bei einigen Gelegenheiten zu erzwingen) setzen - es funktioniert nicht. Die Signatur ändert sich jedes Mal, aber Glide lädt das Bild immer aus dem Cache und möchte es nicht aktualisieren.

Es funktionierte großartig auf Glide v3 und hörte nach der Aktualisierung auf v4 auf, korrekt zu funktionieren.

Verwandte Themen