2012年2月5日日曜日

メモリの解放についてobjective-c

Objective-cについて、
iphone上でのObjective-Cは、
ガベージコレクションのようなメモリの自動解放がありません。

そのため、
手動で解放するロジックをコーディングしないといけません。


関連メソッド説明
retainオブジェクトを確保する。
対象オブジェクトが必要な場合はretainで確保しておく。
releaseオブジェクトを解放する。
対象オブジェクトが不要になった場合は、releaseで解放する。
autoreleaseオブジェクトの解放は自動でされる。



■releaseが必要な場合

以下のようにオブジェクトを生成された場合はreleaseが必要です。
  • [[xxx alloc] init];
  • [[xxx alloc] initWith~];

■releaseが不要な場合

以下のようにオブジェクトが生成された場合はreleaseが不要です。
  • [[[xxx alloc] init] autorelease];
  • [[xxx alloc] xxxWith~];

autoreleaseがなく、initで生成されているときには、
メモリを解放しようと思っておいたらいいかもしれないですね。

0 件のコメント:

コメントを投稿