我一直在使用
NSMutableData* mutableData = [NSMutableData dataWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
CGContextRef context = CGBitmapContextCreate(bitmapData,...);
// ...use context
CGContextRelease(context);
我有一个自动释放池,但是在 Instruments 中查看它时,mutableData
似乎没有被释放。
我想过使用alloc
/init
如下所示,但我不确定发送release
是否也会清除bitmapData
。
NSMutableData* mutableData = [[NSMutableData alloc] initWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
[mutableData release];
//...
在这里使用的正确方法是NSMutableData
什么?
我认为使用NSMutableData
而不是malloc()
并且free()
会很方便,因为它会自动发布。但现在我不确定这是否属实。