Libérant CGImage (CGImageRef)

Je suis curieux de savoir si je suis la bonne gestion de la mémoire avec CGImageRef, je suis de passage par le biais de plusieurs méthodes (puisque c'est la CG objet, je suppose qu'il ne prend pas en charge autorelease). Gestion de la mémoire avec les non-NSObjects et l'interaction avec d'autres NSObjects est encore un peu nouveau pour moi.

Ici ce que je fais:

Je suis de la création de la CGImageRef à l'intérieur de mon image de gestionnaire de cache avec CGBitmapContextCreateImage (conserver le comte 1), et de l'ajouter à la NSMutableDictionary (conserver compter 2).

Quand CALayers usage de l'image, je cède à la couche.contenu (retain count +1), et effacer le contenu avec la couche.contenu = nil (retain count -1) avant de retirer la couche.

Enfin, lors de l'effacement de la texture, je l'appelle CGImageRefRelease et [NSMutableDictionary removeObject] pour conserver le comte comme 0.

Est-ce une bonne façon de le faire?

OriginalL'auteur Rudi | 2009-08-12