Est-ce que UIImage
supprime des images de son cache? Puis-je garder un pointeur sur une image que j'ai obtenue de imageNamed:
et l'utiliser aussi longtemps que j'aime ou dois-je toujours appeler imageNamed:
?Comportement de cache de UIImage
Répondre
L'objet UIImage
renvoyé par imageNamed:
est traité comme tous les autres objets en fonction de la gestion de la mémoire. Si vous souhaitez conserver la référence à l'objet entre les appels de méthode, vous devez le retain
et release
lorsque vous avez terminé de décrémenter le nombre de références.
UIImage * cachedImage;
-(void) getTheImage {
UIImage * cachedImage = [[UImage imageNamed:@"MyImage.png"] retain];
//Do something with the image...
}
//In some other method or dealloc
[cachedImage release];
Notez également que le UIImage class reference dit:
Dans les situations à faible mémoire, des données d'image peut être purgés d'un objet UIImage à libérer de la mémoire sur le système. Ce comportement de purge affecte uniquement les données d'image stockées en interne par l'objet UIImage et non l'objet lui-même. Lorsque vous tentez de dessiner une image dont les données ont été purgées, l'objet image recharge automatiquement les données de son fichier d'origine. Cette étape de charge supplémentaire de peut toutefois entraîner une pénalité de performance faible.
UIImage met en cache les données elles-mêmes. Vous ne devez pas tenir un pointeur et simplement le contourner. Cela peut être dangereux car quand il y a un avertissement de mémoire et qu'il n'y a pas de référence forte à cet objet, UIImage va purger les données mises en cache. Appelez [UIImage imageNamed:] à chaque fois. C'est rapide et renvoie la référence à l'image de la mémoire. Si l'image n'est plus en mémoire, elle la recharge et transmet cette réf.
- 1. UIImage Problèmes de mémoire liés à la mise en cache
- 2. Comportement en cache des DLLs 'hotfixed'
- 3. Un moyen d'obtenir un UIImage en cache à partir de mon répertoire 'Documents'?
- 4. Problème étrange de positionnement UIImage
- 5. Comment enregistrer une UIImage dans le lot de l'application?
- 6. URL de données/PNG de UIImage
- 7. Créer UiImage à partir de NSData
- 8. Partage de mémoire entre CGImageRef et UIImage
- 9. Recherche d'un type de fichier UIImage
- 10. .NET ensemble cache/ngen/jit comportement d'échauffement et de refroidissement d'image
- 11. ASP.Net MVC - étrange comportement de mise en cache des paramètres dans les actions
- 12. NSData et UIImage
- 13. UIImage Rotation degrés personnalisés
- 14. UIImage et problème UIImageView
- 15. iPhone: Blur UIImage
- 16. Dessin UIImage dans CurrentContext
- 17. Comportement étrange de ArrayList
- 18. comportement étrange de Zend_Session_Namespace
- 19. Comportement étrange de created_at
- 20. Comportement étrange de UILabel
- 21. Comportement étrange de javascript
- 22. Comportement étrange de getDefinitionByName
- 23. comportement indésirable de mod_rewrite
- 24. Comportement de tableau inattendu
- 25. Comportement de redimensionnement JSplitPane
- 26. Comportement étrange de GDI +
- 27. Comportement de SIO_FLUSH
- 28. Comportement étrange de numpy.float96
- 29. Comportement de SiteMap
- 30. comportement étrange de TinyXML ++