我将图像的 NSData 转换为 CGImage,如下所示,但我在那里遇到内存泄漏,但有人告诉我如何在不泄漏的情况下转换它:
CFDataRef imgData;
CGDataProviderRef imgDataProvider;
CGImageRef image1;
imgData = (CFDataRef)[array objectAtIndex:i];
imgDataProvider = CGDataProviderCreateWithCFData (imgData);
image1 = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
最佳答案
这应该有效:
CFDataRef imgData;
CGDataProviderRef imgDataProvider;
CGImageRef image1;
imgData = (CFDataRef)[array objectAtIndex:i];
imgDataProvider = CGDataProviderCreateWithCFData (imgData);
CFRelease(imgData);
image1 = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
CGDataProviderRelease(imgDataProvider);
完成后不要忘记使用 CGImageRelease(image1);
。
关于objective-c - 如何在没有内存泄漏的情况下将图像的 NSData 转换为 CGImageRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615621/