2010-09-22 5 views
0

Je veux apprendre la bonne façon d'allouer une image ui et la libérer pour la gestion de la mémoire.
Lorsque j'utilise le code suivant, il se bloque lors de la désallocation,
si je n'utilise pas [imager release];
programme ne tombe pas en panne, mais il montre une fuite pour l'imageur. Des idées pour une solution?Libérer UIImage après l'utilisation

UIImage *imager = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[email protected]"nameofimage" ofType:@"jpg"]]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:imager]; 

[imageView release]; 

[imager release]; 

Répondre

0

La bonne façon de gérer la mémoire est comme vous l'avez fait.

UIImage *imager = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"nameofimage" ofType:@"jpg"]]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:imager]; 
[imager release]; 
[imageView release]; 

Peut être fonctionner si vous libérez d'abord UIImage que UIImageView

je ne trouve pas une erreur dans ce code. Si l'application se bloque, vérifiez si vous utilisez la même référence d'objet ailleurs après sa publication.