3-3制御文Tips81 メモリを解放する
Level1
Point確保したメモリを解放(releaseメソッド)
メモリをallocメソッドやnewメソッドで確保した場合は、releaseメソッドで解放します。
通常、iPhone/iPadプログラミングでは、NSAutoreleasePoolクラスによって、自動的にメモリが解放されますが、一時的に大きなメモリが必要な場合は、ほかのアプリケーションとのメモリの競合を避けるために、明示的にreleaseメソッドを呼び出してメモリを解放します。
データ型 変数 = [データ型 alloc];
[変数 release];
独自のクラスを作る場合は、NSObjectクラスを継承させます。NSObjectクラスを継承すると、releaseメソッドが自動的に定義されます。
クラスが内部でさらにメモリを確保している場合は、deallocメソッドをオーバーライドしてメモリを開放します。
リスト1では、独自に定義したAClassをallocメソッドで確保した後に、releaseメソッドで解放しています。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録