Ios CGDataProviderCopyData保留数据

Ios CGDataProviderCopyData保留数据,ios,memory-management,core-graphics,core-foundation,Ios,Memory Management,Core Graphics,Core Foundation,仪器显示我有很多使用CGDataProviderCopyData创建的持久分配 我正在调用CGDataProviderCopyData,然后使用CFRelease释放数据引用。我使用一个UInt8点指向带有CFDataGetBytePtr的数据 此代码是在UIImaveView类别中完成的 CGImageRef imageRef = self.image.CGImage; CGDataProviderRef provider = CGImageGetDataProvider(i

仪器显示我有很多使用CGDataProviderCopyData创建的持久分配

我正在调用CGDataProviderCopyData,然后使用CFRelease释放数据引用。我使用一个UInt8点指向带有CFDataGetBytePtr的数据

此代码是在UIImaveView类别中完成的

    CGImageRef imageRef = self.image.CGImage;

    CGDataProviderRef provider = CGImageGetDataProvider(imageRef);
    CFDataRef pixelData = CGDataProviderCopyData(provider);
    const UInt8* data = CFDataGetBytePtr(pixelData);

    // do stuff with data...

    CFRelease(pixelData);

如果我使用CFRelease,我不确定为什么会保留pixelData。

您应该发布提供程序:

CGDataProviderRelease(provider);