ARC 中CGColorSpaceRef内存问题 potential leak of an object&nb

本文探讨了在ARC环境下CGColorSpaceRef等Core Foundation样式对象的内存管理问题,强调了需要手动调用CFRetain和CFRelease来管理这些对象的生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARC 中CGColorSpaceRef内存问题  potential leak of an object&nb


http://blog.sina.com.cn/s/blog_795d380a0101fz5m.html 



  在许多Cocoa应用中,你可以使用Core Foundation样式的对象,不管是来自于Core Foundation框架本身(例如,
CFArrayRef

CFMutableDictionaryRef),还是来自于诸如Core
Graphics一样采用Core Foundation约定的框架(你可能使用向
CGColorSpaceRef
and
CGGradientRef样式的类型)。
       编译器不会自动管理Core Foundation对象的生命周期;你必须调用符合Core Founda内存管理规则的CFRetain和CFRelease方法(或者合适的特殊类型变体)来释放对象。

以上片段摘自 http://wiki.eoe.cn/page/iOS_blog_page_121623.html
//这个地址里对arc的解析比较详细

        CGColorSpaceRef baseSpace = CGColorSpaceCreateDeviceRGB();

        CGGradientRef gradient = CGGradientCreateWithColorComponents(baseSpace, colors, NULL3);

        CGColorSpaceRelease(baseSpace);

        CGContextSaveGState(context);

        CGContextAddEllipseInRect(context, CGRectMake(centerPoint.x-15, rect.size.height-42.5f2525));

        CGContextClip(context);

        CGContextDrawLinearGradient (context, gradient, CGPointMake(0, 0),CGPointMake(0,rect.size.height), 0);

        CGContextRestoreGState(context);

        CGGradientRelease(gradient);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值