Quartz2D内存管理

使用Path对象时的内存管理问题:

1>凡是遇到retain、copy、create出的对象,都需要进行release

2>但是CGPathCreateMutable()不是OC方法,所以不是调用某个对象的release方法

3>CGXxxxxCreate对应的就有CGXxxxxRelease。

4>通过CFRelease(任何类型);可以释放任何类型。

-(void)drawRect:(CGRect)rect{

// Drawing code

//1.获取图形上下文对象

CGContextRefctx=UIGraphicsGetCurrentContext();

//2.创建路径

CGMutablePathRefpathM=CGPathCreateMutable();

CGContextMoveToPoint(ctx,50,50);

CGContextAddLineToPoint(ctx,200,200);

//3.把路径添加到图形上下文中

CGContextAddPath(ctx,pathM);

//4.渲染

CGContextDrawPath(ctx,kCGPathStroke);

//释放

//CGPathRelease(pathM);

    CFRelease(pathM);//可以释放任何类型

}

@end

你可能感兴趣的:(Quartz2D内存管理)