我使用下面的代码来创建一个屏蔽的UIImage。然而,我发现当我多次运行代码时,内存在增加而不是释放。有人可以看到哪里可能有泄漏?屏蔽图像时增加内存
-(UIImage*)processImage:(UIImage *)sourceImage maskImage:(UIImage *)maskImage {
UIImage *editedImage = nil;
UIImage *mask = [self createMaskImage:maskImage canvasImage:sourceImage maskWidth:50 maskHeight:50];
editedImage = [self maskImage:sourceImage withMask:mask];
return editedImage;
}
- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
感谢信息 – ORStudios 2014-11-25 13:28:07