2010-11-20 7 views
0

Je crée un UIView semblable à l'exemple Apple's Scrolling et j'ai une question concernant UIImage et la mise en cache; Je ne sais pas si je comprends parfaitement les implications pratiques de la documentation Apple.UIImage initWithContentsOfFile: et la mise en cache

Le docs disent:

Discussion Cette méthode charge les données d'image en mémoire et il marque comme purgeables. Si les données sont purgées et doivent être rechargées, l'objet image charge de nouveau ces données à partir du chemin spécifié.

En pratique, qu'est-ce que cela signifie? Je le lis comme ceci: Si le système est à court de mémoire, les UIImages qui ne sont pas affichées à l'écran sont purgées et rechargées à partir du fichier spécifié si nécessaire. En ce moment, je charge un certain nombre d'images et je suis préoccupé par la gestion de la mémoire; ce serait génial si je pouvais juste laisser le système purger/mettre en cache comme bon lui semble, mais je doute que ce soit une solution efficace. J'apprécierais n'importe quels pointeurs/clarifications.

Répondre

1

Vous le lisez correctement. Si vous jouez avec défilement très rapide grâce à l'application Photos, vous verrez que vous avez parfois battre l'application, et rencontrer un "chargement ..." tourbillon. Pareil avec un UITableView ... si une application manque de mémoire, elle efface l'image et la recharge quand l'utilisateur en a besoin.

Pour le défilement d'image, la gestion de la mémoire UIScrollView est plutôt bonne; vous pouvez probablement lui faire confiance pour prendre soin de la gestion de la mémoire, dans ce cas. Si vous essayez de le faire vous-même, ou d'une autre manière, vous courez le risque d'un UIScrollView lent et nerveux, ce qui n'est jamais bon.

Questions connexes