2010-02-02 4 views
2

J'ai construit un cache d'image qui est un ArrayCollection contenant des images. J'ai construit la fonctionnalité de sorte que le cache peut contenir un maximum de 250 images. Cependant, les images peuvent avoir une taille différente, il est donc préférable de limiter la taille totale de la mémoire de toutes les images de ArrayCollection.Comment obtenir la taille de la mémoire d'un ArrayCollection dans Flex

Est-ce que quelqu'un sait comment je peux obtenir la taille totale de la mémoire d'un ArrayCollection sans boucler tous les éléments de ArrayCollection?

Répondre

1

Je ne suis pas sûr que vous le pouvez. Mon conseil est de créer une nouvelle classe de collection basée sur ArrayCollection (par exemple, ImageCacheCollection) qui garde la trace de la taille de la mémoire actuelle de la collection et sa limite de mémoire . Avant d'ajouter une image à la collection, vérifiez d'abord que la limite de mémoire ne sera pas dépassée. Si ce n'est pas le cas, vous ajoutez l'image à la collection, en ajoutant la taille de fichier de l'image à la taille de la mémoire actuelle de la collection.

+0

Avec ce genre de solution, j'ai toujours un peu peur que quelque chose puisse mal se passer avec le comptage et que la taille du cache compté ne soit pas précise. Mais je l'ai mis en œuvre de toute façon car il ne semble pas y avoir de meilleur moyen, et je n'ai encore eu aucun problème. Merci. –

Questions connexes