我使用下面的代碼來創建一個屏蔽的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