我有一个问题,一个CGContextRef被过度释放,但我不知道在哪里。文档中说,使用CGBitmapContextCreate创建的CGBitmapContextCreate应该被释放,但是当我这样做时,我得到了错误"* -Not A Type :消息发送给解除分配的实例0x613d750“
这是我的密码:
CGContextRef ctx = CGBitmapContextCreate(NULL, self.size.width, self.size.height,
CGImageGetBitsPerComponent(self.CGImage), 0,
CGImageGetColorSpace(self.CGImage),
CGImageGetBitmapInfo(self.CGImage));
CGContextRelease(ctx); // PROBLEM HERE正如您所看到的,除了旋转图像和创建UIImage之外,这里不会发生什么事情。知道为什么会这样吗?
编辑:
我已经将示例代码减少到了2行,并且仍然得到了相同的错误。
发布于 2012-08-31 08:31:19
检查它是否与CGImageRelease的发布一起发布。我不记得我有过一次确切的问题,但UIImage发布上下文时遇到了问题。尝试注释掉CGImageRelease(cgimg);并查看CGContextRelease(Ctx)是否在之后工作。
https://stackoverflow.com/questions/12211424
复制相似问题