2009-08-29 8 views

Répondre

2

Je ne pense pas qu'il soit possible de dire directement à TableView de pré-créer toutes ses cellules, mais en supposant que la partie lente charge vos images, vous pouvez certainement précharger vos images, les conserver dans un NSArray ou quelque chose, et puis les mettre dans les cellules comme ils sont créés devrait être rapide.

+0

Comment devrais-je précharger mes images? – Jonah

1

Oui. Vous pouvez. Et il mange de la mémoire mais la performance sera maximisée.

Mais seulement le faire quand vous êtes sûr que les cellules ne sont pas trop grandes. N'oublie pas non plus de les libérer.

0

J'ai découvert que la raison pour laquelle mon tableau défilait mal était à cause de la façon dont les photos étaient chargées. Utiliser imageNamed pour charger les images a résolu tous mes problèmes.

UIImage *theImage = [UIImage imageNamed:[[appDelegate.myDelegateDict objectAtIndex:indexPath.section] objectForKey:@"MainImage"]]; 
+0

Oui mais il conservera les images en mémoire, pas les libérer. Donc, si vous avez beaucoup d'images, vous pouvez éventuellement planter l'application. –

0

Il ne crée pas les cellules Tableview qui est votre problème, il est là que vous accédez aux images de/le processus de redimensionnement, et donc vous devez soit faire cela à l'avance, ou le rendre asynchrone donc il ne ralentit pas le chargement et le défilement des cellules.

J'ai vécu exactement la même chose. Voir this question and answer pour une solution.

Questions connexes