1.2 Quartz 2 Dメモリ管理
1920 ワード
に合格 Product -> Analyze 静解析を行います
Quartzが使用可能 2 Dの関数はretainとreleaseのオブジェクトを指定します.たとえば、CGcolorSpaceオブジェクトを作成した場合、関数CGcolorSpaceRepainとCGcolorSpaceReleaseを使用してオブジェクトをretainおよびreleaseします. Coreもご利用いただけます FoundationのCFRetainとCFRelease.これらの関数 にNULL値を渡すことはできません.
Pathの使用 オブジェクトのメモリ管理に関する問題:
1、出会い retain 、 copy 、 create関数で作成されたオブジェクトは、使用後に行う必要があります. release、そうでないとメモリが漏洩します
2、しかしCGPathCreateMutable()は OC 方法、 オブジェクトを呼び出すのではありません releaseメソッド
3、CGXxxxxCreate 対応しているのは CGXxxxxRelease.
4、通過 CFRease(任意のタイプ);任意のタイプを解放できます.
サンプルコード:
質問があれば、メールを送ってください.
[email protected]連絡してください.
By:藍田(Loto)
Pathの使用 オブジェクトのメモリ管理に関する問題:
1、出会い retain 、 copy 、 create関数で作成されたオブジェクトは、使用後に行う必要があります. release、そうでないとメモリが漏洩します
2、しかしCGPathCreateMutable()は OC 方法、 オブジェクトを呼び出すのではありません releaseメソッド
3、CGXxxxxCreate 対応しているのは CGXxxxxRelease.
4、通過 CFRease(任意のタイプ);任意のタイプを解放できます.
サンプルコード:
1 - (void)drawRect:(CGRect)rect
2 {
3 // 1. (layer)
4 CGContextRef ctx = UIGraphicsGetCurrentContext();
5
6 // 2.
7 CGMutablePathRef path = CGPathCreateMutable();
8 CGPathMoveToPoint(path, NULL, 50, 50);
9 CGPathAddLineToPoint(path, NULL, 100, 100);
10
11 // 3.
12 CGContextAddPath(ctx, path);
13
14 // 4.
15 CGContextStrokePath(ctx);
16
17 //
18 CGPathRelease(path); // 1
19 CFRelease(path); // 2
20 }
質問があれば、メールを送ってください.
[email protected]連絡してください.
By:藍田(Loto)