如何在没有内存泄漏的情况下将图像的NSData转换为CGImageRef

Ste*_*ear 5 memory-leaks objective-c cgimageref

我将图像的NSData转换为CGImage,如下所示,但我在那里得到了内存泄漏但是任何一个告诉我如何转换它而不会泄漏:

CFDataRef imgData;
CGDataProviderRef imgDataProvider;
CGImageRef image1;
imgData = (CFDataRef)[array objectAtIndex:i];
    imgDataProvider = CGDataProviderCreateWithCFData (imgData);
    image1 = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
Run Code Online (Sandbox Code Playgroud)

Chr*_*ler 10

这应该工作:

CFDataRef imgData;
CGDataProviderRef imgDataProvider;
CGImageRef image1;
imgData = (CFDataRef)[array objectAtIndex:i];
imgDataProvider = CGDataProviderCreateWithCFData (imgData);
CFRelease(imgData);
image1 = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
CGDataProviderRelease(imgDataProvider);
Run Code Online (Sandbox Code Playgroud)

CGImageRelease(image1);完成后不要忘记使用.