私のアプリは画像パスの配列をループし、それらすべての画像を1つにマージします。コードは以下のとおりです。ただし、コンソールで(gdb)を印刷した画像をリリースすると、アプリがクラッシュします。イメージリリースラインを削除すると、正常に動作しますが、メモリリークが発生する可能性があります。このコードを見て、なぜこれが発生するのか、何を改善できるのかを説明してください。ありがとうございました。
UIGraphicsBeginImageContextWithOptions(CGSizeMake(width*len+padding*len+padding,
height+padding*2),
YES, 0.0);
do{
//draw image
path = (NSString*)[_imageData objectAtIndex:i];
UIImage * img = [[[UIImage alloc] initWithContentsOfFile:path]
cropCenterAndScaleImageToSize:CGSizeMake(width, height)];
[img drawAtPoint: CGPointMake(width*i+padding*i+padding,padding) blendMode:kCGBlendModeNormal alpha:1];
[img release]; //APP CRASHES HERE BUT WORKS IF THIS LINE REMOVED
i++;
}while (i<len);
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(result, self,
@selector(image:didFinishSavingWithError:contextInfo:),
nil);