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

来源:互联网 发布:期货量化平台python 编辑:程序博客网 时间:2024/06/01 09:17

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);


0 0
原创粉丝点击