首页 > 代码库 > Quartz2D内存管理

Quartz2D内存管理

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #239619 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #239619 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #239619; min-height: 16.0px } span.s1 { font: 14.0px Menlo } span.s2 { } span.s3 { font: 14.0px "PingFang SC" }</style>

 * C语言函数中,遇到了createcopyretain!这些关键单词创建的对象,最后结束的时候,需要自己release!

 

 * ARC -> 自动内存管理针对的是oc!

 

 * 释放对象的方式! CGPathRelease()

 

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #239619 } span.s1 { } span.s2 { font: 14.0px Menlo }</style>

 静态分析工具: -> 从代码的结构上分析是否存在内存管理不当的问题! 快捷键:shift+cmd+b,菜单:product -> analyze,MRC下用的多一些。

 

 1 - (void)drawRect:(CGRect)rect {
 2     
 3     // 1.获取图形上下文
 4     CGContextRef cxt = UIGraphicsGetCurrentContext();
 5     
 6     // 2.给里面添加路径
 7     // 创建路径!
 8     CGMutablePathRef path = CGPathCreateMutable();
 9     
10     // -设置起点!
11     /**
12      参数1  路径
13      参数2  形变 -> NULL
14      参数3 和 参数4 起点的x,y值!
15      */
16     CGPathMoveToPoint(path, NULL, 50, 50);
17     
18     // -添加线!
19     CGPathAddLineToPoint(path, NULL, 250, 250);
20     
21     // 给上下文中添加一条路径 CGPathRef类型路径!
22     CGContextAddPath(cxt, path);
23     
24     // 3.渲染
25     CGContextStrokePath(cxt);
26     
27     // 4.释放路径资源
28     CGPathRelease(path);
29     // 可以释放任何对象! 有时候也不给力!
30 //    CFRelease(path);
31     
32     // kill();
33     // release();
34     
35 }

 

 

Quartz2D内存管理