S'il n'existait qu'une seule et unique "meilleure méthode", les moyens de charger des images de différentes manières n'existeraient pas (sauf pour des raisons historiques). Par conséquent, un peu de compréhension vous sera plus utile que la distillation d'une réponse en une "meilleure façon".
+[UIImage imageNamed:]
met en cache l'image pour qu'elle puisse être réutilisée, et il s'agit d'une valeur par défaut raisonnable dans la plupart des cas. La mise en cache est excellent s'il est utilisé correctement. Le cache est utile car il permet de minimiser les lectures sur le disque et l'utilisation de la mémoire en partageant et en réutilisant les images chargées, plutôt que de lire et d'allouer une copie pour chaque image que vous devez afficher. Prenons l'exemple d'une image d'icône que vous utilisez sur plusieurs écrans. Souhaiteriez-vous que les données de cette image soient lues et réallouées à chaque fois ? Cela peut entraîner des lectures et des allocations redondantes de données d'image identiques. Si ce n'est pas le cas, utilisez les méthodes de mise en cache.
Si vous ne chargez l'image qu'une seule fois et paresseusement, vous pouvez envisager des approches sans mise en cache.
- Les données d'image peuvent consommer beaucoup de mémoire.
- La lecture d'une image peut prendre beaucoup de temps - non seulement l'entrée/sortie du disque, mais aussi la conversion de l'image en une représentation UIImage utilisable (par exemple, la décompression de l'image).
- Il arrive aussi que l'on doive redimensionner ou mettre à l'échelle une image. dans ce cas, il faut une copie à l'échelle.
En résumé, il y a de nombreuses considérations à prendre en compte, mais si vous avez des ressources correctement dimensionnées que vous réutilisez, la mise en cache est généralement le bon choix.
Si vos ressources ne sont pas correctement dimensionnées, le problème est plus fondamental : vous devez redimensionner les ressources regroupées pour qu'elles soient adaptées à l'objectif visé si vous rencontrez des problèmes de performance. Des images correctement dimensionnées simplifient considérablement le dessin tout en conservant la meilleure qualité d'image.