Objective-C勉強日記(5) メモリ管理

GCはあるけど、プラットフォームによって使えなかったりするらしい。

iPhoneでも使えないようなので、メモリ管理についてちゃんと知る必要がある。

allocしたとき参照カウンタが1になり、retainすると1増えて、releaseすると1減る。releaseした結果参照カウンタが0になったら開放される。

Cのメモリ管理よりはサポートメソッドがある分いいかもしれないけど、これはコードが煩雑になってしまいそうだ。

半自動のメモリ管理(autorelease)

メモリ管理を理解する(後編) – @IT

NSAutoreleasePoolを使って半自動のメモリ管理を行なう方法。

poolを定義しておけば、autoreleseしたら定義されているpoolに自動登録されるということか。

明示的にpoolに追加する必要は無いらしい。NSAutoreleasePoolはシングルトンなのか?

メモリ管理については、現実的なコードを書かないとイメージできない。

ちょっと、自分でコードを書いてみた方が良さそう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください