这是有泄漏的代码块...
NSString *filename = [NSString stringWithFormat:@"%@.png", sketchID];
CGImageRef imageRef = CGBitmapContextCreateImage(paintView.canvas.mBitmapContext);
UIImage* image = [[UIImage alloc] initWithCGImage:imageRef];
NSData* imageData = UIImagePNGRepresentation(image);
非常感谢!
最佳答案
据我所知,您有以下回忆:
CGImageRef imageRef = CGBitmapContextCreateImage(paintView.canvas.mBitmapContext);
您需要调用CGContextRelease。检查this SO问题。
您还需要释放
image
。创建imageData
后,请执行以下操作:[image release];
您不必释放
fileName
,因为您没有为它明确分配内存。当变量超出范围时,它将自动释放。 Objective-C中有一些命名约定,它们会告诉您什么时候必须释放,什么时候不需要释放。查看Apple文档。希望能帮助到你。