我有一种方法可以分析从 CGImageRef 构建的 NSBitmapImageRep 内的像素数据。以下是相关代码:
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 MB,我不知道如何正确释放它。有任何想法吗?
更新:我忘了补充一点:只有在全屏应用程序运行时才会泄漏内存。对于常规使用,内存释放得很好。