Lorsque j'analyse le code suivant avec des instruments, il fait état d'une fuite sur la variable imageName:NSString fuite même avec la libération au bon endroit (je suppose)?
//loadImagesFromPotatoesIndexesArray
-(void) loadImagesFromPotatoesIndexesArray{
//Load Textures from Disk
textures = [[NSMutableArray alloc] init];
//NSArray *masks = [[NSArray alloc] initWithArray:mainDelegate.masksArray];
for (int i = 0;i<[potatoesIndexesArray count];i++){
int imageNumber = [[potatoesIndexesArray objectAtIndex:i]intValue];
NSString *imageName = [[NSString alloc] initWithFormat:@"texture%d",imageNumber];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imageName ofType:@"png"]];
NSArray *pics = [[NSArray alloc] initWithObjects:
[self maskImage:image withMask:[mainDelegate.masksArray objectAtIndex:i]],
[self maskImage:image withMask:[mainDelegate.masksArray objectAtIndex:i]],
imageName,
nil];
[textures addObject:pics];
[image release];
[imageName release];
[pics release];
}
}
[potatoesIndexesArray count] = 16, donc j'ai 16 fois que NSCFString ... Mais fuite moi le code respecte la gestion de la mémoire ... évidemment pas !!! Qu'est-ce que j'ai fait de mal?
semble correct. Avez-vous testé sur votre appareil? Parfois, vous obtenez des «fausses» fuites lors de l'utilisation du simulateur. –