2010-06-06 6 views
0

ce qui est la meilleure méthode pour afficher environ 300 images .png dans un UITableView ..UIImages sur UITableView?

je ne veux pas les afficher en même temps ... j'ai 3 tableViewControllers qui sera chaque affichage sur 100 imgaes .. (pour son J'ai utilisé [uiimage imageNamed:] mais cette méthode met en cache les images et elles ne sont pas libérées, donc l'utilisation de la mémoire est grande .... est-il possible de libérer le cache lorsque le contrôleur de navigation pousse un autre voir le contrôleur?

J'ai aussi essayé [uiimage alloc] initWithContentsOfFile] mais les images ne vais pas afficher ....

toute aide?

Répondre

1
[UIImage imageNamed:@"foo.png"]; 

est équivalent à

[[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"]] autorelease]; 

sauf qu'il ne cache pas l'image.

Si vous écrivez votre propre fonction de mise en cache, vous pouvez la purger à tout moment. Lorsque vous avez besoin d'une image, vérifiez un NSMutableDictionary par son nom. Si ce n'est pas le cas, chargez l'image normalement et ajoutez-la au dictionnaire avec le nom comme clé. Pour vider le cache, supprimez tous les objets du dictionnaire.

Questions connexes