2009-10-20 9 views
7

Ich habe eine Liste und der Elementrenderer zeigt ein Bild an. Wenn Sie in der Liste blättern und der Elementrenderer aktualisiert wird, wird das Bild erneut geladen. Das verursacht immer eine Verzögerung. Gibt es eine Möglichkeit, es zwischenzuspeichern, sodass es nicht jedes Mal neu heruntergeladen werden muss, wenn das Bild bei jedem Scrollen in der Liste verzögert angezeigt wird?Flex: Zwischenspeichern von Bildern im Listenelement-Renderer?

Danke!

Antwort

0

Sie müssen Ihr eigenes Caching implementieren. Ich würde alle Bilder speichern, die zuvor heruntergeladen wurden, und sie laden, wenn der Benutzer zu ihnen zurückkehrt.

0

ich tue dies ein Speichern für einige Projekte vor einiger Zeit Aber die Art, wie ich dies tat Ansatz war

Wenn der Anruf zuerst das Bild zu bekommen gemacht wird, prüfen Sie, ob im Cache-Verzeichnis (ein Verzeichnis Ihrer Wahl) das Bild existiert (lesen Sie weiter, um herauszufinden, wie die Bilder zu verbinden sind), wenn es beendet wird, laden Sie es, laden Sie das Bild herunter und speichern Sie den Bildnamen als einen Hash der Daten, die das Bild repräsentiert, oder etwas, das ein darstellen kann Gültiger Schlüssel für die Daten ohne eine Kollision zu bekommen.

Zum Beispiel

Thumbnail 1 - String 1 Thumbnail 2 - String 2

ich speichern Thumbnail 1 als Hash der Zeichenfolge 1, dann ist der nächste Mal, wenn ich diese Zeichenfolge begegnen 1, i Check-in das Cache-Verzeichnis, wenn das Bild, das existiert bedeutet dies, und ich es einfach laden, sonst ich es herunterladen, speichern und usw. wie ich schon sagte :)

+0

Es scheint eine schöne Lösung, können Sie eine Probe zur Verfügung stellen? Vielen Dank – simo

Verwandte Themen