2016-04-07 7 views
0

Ich bin erfolgreich Abrufen und Zwischenspeichern von Image von Server-URL von mit Universal Image Loader. Meine DisplayImageOptions sind unten angegeben.Holen Sie Image vom Server mithilfe von URL mit Universal Image Loader

new DisplayImageOptions.Builder().cacheInMemory(true) 
       .showImageOnLoading(R.drawable.home_back_img) 
       .showImageOnFail(R.drawable.home_back_img) 
       .bitmapConfig(Bitmap.Config.ALPHA_8) 
       .showImageForEmptyUri(R.drawable.home_back_img) 
       .build(); 

Mein Problem ist, wenn ich Bild aktualisiere in Server (mit demselben Dateinamen), wird das Bild nicht in Anwendung aktualisiert, seine nur mit der Cache-Datei selbst. Gibt es dafür eine Lösung? Ja, wir können das Zwischenspeichern vermeiden, aber es kann einige Zeit dauern, das Bild jedes Mal zu laden, anstatt Zwischenspeichern zu vermeiden, wäre es nett, wenn irgendeine Lösung existiert. Hilfe wird geschätzt!

+1

Versuchen Sie diesen Link alex. http://StackOverflow.com/a/19386142/2219600 – amalBit

+0

@amalBit Wie die Beschreibung im obigen Link, ist es gleich, Caching zu vermeiden. Recht? –

+0

ich denke nicht so ' – amalBit

Antwort

1

Sie müssen einen anderen Namen verwenden, um das aktualisierte Foto zu erhalten. Weil das Bild bereits in Ihrem lokalen Cache unter dem gleichen Namen gespeichert ist. Also, es ruft nie zum Netzwerk, um das Bild herunterzuladen.

Oder, löschen Sie Ihren Anwendungscache, dann erhalten Sie das aktualisierte Bild.

+0

ist UIL speichert Bild mit Namen oder eine andere ID? –

+0

Der Name ist hauptsächlich die vollständige URL. Also, jedes Mal, wenn Sie die gleiche URL und den Bildnamen (URL + Bild wie: www.abc.com/def.com) behalten, überprüfen Sie, dass das Foto mit dem Namen voller Länge bereits gespeichert ist, so dass es nicht machen jede andere Anfrage. Deshalb bekommst du das aktualisierte Foto nicht. –

+0

@Alex Chengalan, wenn Sie Ihre Antwort erhalten, akzeptieren Sie bitte meine Antwort. –