Objective-C勉強日記(5) メモリ管理
2010/01/11
GCはあるけど、プラットフォームによって使えなかったりするらしい。
iPhoneでも使えないようなので、メモリ管理についてちゃんと知る必要がある。
allocしたとき参照カウンタが1になり、retainすると1増えて、releaseすると1減る。releaseした結果参照カウンタが0になったら開放される。
Cのメモリ管理よりはサポートメソッドがある分いいかもしれないけど、これはコードが煩雑になってしまいそうだ。
半自動のメモリ管理(autorelease)
メモリ管理を理解する(後編) – @IT
NSAutoreleasePoolを使って半自動のメモリ管理を行なう方法。
poolを定義しておけば、autoreleseしたら定義されているpoolに自動登録されるということか。
明示的にpoolに追加する必要は無いらしい。NSAutoreleasePoolはシングルトンなのか?
メモリ管理については、現実的なコードを書かないとイメージできない。
ちょっと、自分でコードを書いてみた方が良さそう。