2009-10-20 3 views
7

J'ai une liste et le rendu d'élément affiche une image. Chaque fois que vous faites défiler la liste et actualisez le rendu de l'élément, il le fait de nouveau. Causer là pour toujours être un retard. Y a-t-il un moyen de le mettre en cache afin qu'il n'ait pas à télécharger à chaque fois, provoquant un retard dans l'affichage de l'image chaque fois que vous faites défiler la liste?Flex: mise en cache d'images dans le rendu d'élément de liste?

Merci!

Répondre

0

Vous devrez implémenter votre propre mise en cache. Je stockerais toutes les images qui ont été précédemment téléchargées et les chargerais si l'utilisateur les retourne.

0

Je me rappelle de ce un certain temps pour un projet, mais la façon dont je l'ai fait approcher c'était

Lorsque l'appel est d'abord fait pour obtenir l'image, vérifiez si dans le répertoire du cache (un répertoire de votre choix) l'image existe (lire à l'avance pour savoir comment relier les images), si elle se termine puis charger, sinon télécharger l'image et enregistrer le nom de l'image comme un hachage des données que l'image représente, ou quelque chose qui peut représenter un clé valide pour les données sans collision.

Par exemple,

Onglet 1 - Chaîne 1 Miniature 2 - Chaîne 2

I sauver thumbnail 1 comme un hachage de chaîne 1, alors la prochaine fois que je rencontre cette chaîne 1, je vérifie dans le répertoire de cache si l'image existe qui représente, et je charger simplement, sinon je le télécharger, enregistrer et etc comme je l'ai dit :)

+0

Cela semble une bonne solution, pouvez-vous fournir un échantillon? merci – simo

Questions connexes