2009-10-20 9 views
7

Tengo una lista y el procesador de elementos muestra una imagen. Cada vez que se desplaza por la lista y el renderizador de elementos se actualiza, vuelve a descargar la imagen. Causando que siempre haya una demora. ¿Hay alguna forma de almacenarlo en la memoria caché para que no tenga que volverse a descargar cada vez, lo que causa un retraso en mostrar la imagen cada vez que se desplaza por la lista?Flex: ¿almacenar imágenes en caché en el renderizador de elemento de lista?

Gracias!

Respuesta

0

Tendrá que implementar su propio almacenamiento en caché. Almacenaba todas las imágenes que se habían descargado previamente y las cargaba si el usuario volvía a ellas.

0

Recuerdo haber hecho esto hace un tiempo para algún proyecto, pero la forma en que lo hice abordar este era

Cuando se hizo por primera vez la llamada para obtener la imagen, compruebe si en el directorio de caché (un directorio de su elección) la imagen existe (lea a continuación para saber cómo relacionar las imágenes), si sale y luego cárguela, de lo contrario, descargue la imagen y guarde el nombre de la imagen como un hash de los datos que representa la imagen, o algo que pueda representar un clave válida para los datos sin obtener una colisión.

Por ejemplo,

en miniatura 1 - secuencia 1 miniatura 2 - Cadena 2

guardo miniatura 1 como un hash de cadena de 1, entonces la próxima vez que me encuentro con esta cadena 1, me registro el directorio de caché si existe la imagen que representa esto, y yo simplemente cargarlo, lo demás lo descargo, guardarlo y etc como he dicho antes :)

+0

Parece una buena solución, ¿puedes proporcionar una muestra? gracias – simo

Cuestiones relacionadas