有人能告诉我我这里遇到了什么问题吗?
createCGIImage:
”。CGImageRelease(myImageRef)
因此,要正确地执行此操作,请执行以下操作:
CGImageRef myImageRef = [context createCGImage: outputImage fromRect: outputImage.extent];
UIImage * imageTemp = [UIImage imageWithCGImage: myImageRef];
CGImageRelease(myImageRef);
CGImageRef
变量,然后使用CFRelease(variableName)
释放它。CGImageRef cgImage = [context createCGImage:...];
// rest of your code here
CFRelease(cgImage);
[context createCGImage:fromRect:]
方法返回一个已保留的 CGImageRef
。要修复内存泄漏,您需要保存对该 CGImageRef
的引用,并在使用完后释放它:
CGImageRef imageRef = [context createCGImage:outputImage fromRect:outputImage.extend];
imageTemp = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
createCGImage
中创建图像,然后从未释放它。 - borrrden