admin管理员组

文章数量:1530842

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


http://blog.sina/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/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);


本文标签: 内存potentialArcCGColorSpaceRefamp