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);