У меня есть метод, который анализирует пиксельные данные внутри NSBitmapImageRep, который построен из CGImageRef. Вот соответствующий код:
CGImageRef ref;
// omitted code for initializing ref
NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:ref];
uint32* bitmapPixels = (uint32*) [bitmapRep bitmapData];
// do stuff with bitmapPixels
[bitmapRep release];
CGImageRelease(ref);
Я знаю, что правильно выпускаю CGImageRef и NSBitmapImageRep, но при вызове -bitmapData каждый раз, когда он вызывается, теряется около 2 МБ, и я не знаю, как его правильно освободить. Есть идеи?
Обновление: Я забыл добавить один важный момент: память просачивается только тогда, когда запущено полноэкранное приложение. При регулярном использовании память освобождается просто отлично.