2016-04-18 5 views
1

Ich habe schon jede Lösung gesehen, die hier vorgeschlagen wurde und nichts funktioniert wirklich für mich.Picasso Cache klar

Wie kann ich den Cache von Picasso in meiner App löschen?

Ich habe versucht, ungültig zu machen - ist nicht funktionieren. Ich habe etwas über Picasso.cache.clear gesehen, aber unmöglich direkt auf den Cache zuzugreifen.

(bitte machen Sie mir nicht no_cache verwenden)

Dank.

+0

Sie eine Probe von dem, was Sie mit Invalidier haben versucht, veröffentlichen können, die nicht vor dem Problem besser zu verstehen, funktionierte direkt an andere Lösung springen? – KunalK

Antwort

2

get from this answer

diese Klasse zum com.squareup.picasso Paket hinzufügen.

package com.squareup.picasso; 

public class PicassoTools { 

    public static void clearCache (Picasso p) { 
     p.cache.clear(); 
    } 
} 

Da Cache-Paket Sichtbarkeit hat, kann diese util Klasse den Cache für Sie löschen. Sie müssen es nur nennen:

PicassoTools.clearCache(Picasso.with(context)); 

einfach diese Datei auf einen Pfad hinzufügen .../java/com/squareup/picasso

P. S. Ich empfehle die Verwendung glide statt picasso, es hat mehr leistungsstarke Funktionen Kontrolle und super-Download-Rückrufe in den Cache-Download Fehler abzufangen, zum Beispiel

+0

Ehrfürchtig. Vielen Dank. –

0

Aktualisieren Sie Ihre picasso Bibliothek:

compile 'com.squareup.picasso:picasso:2.5.2'.

Als Picasso.invalidate() nur für die Gravel-Version 2.5.0 und höher.

und Cache-Nutzung unter Funktion zu löschen:

Picasso.with(context).invalidate(file);