CGDataProviderCopyData, сохраняющий данные

Инструменты показывают, что у меня есть много постоянных выделений, созданных с помощью 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);

Я не уверен, почему pixelData сохраняется, если я использую CFRelease.

1 ответ

Вы должны освободить провайдера:

CGDataProviderRelease(provider);
Другие вопросы по тегам