タグ

ブックマーク / ponytailthes.blogspot.com (1)

  • Objective-Cにおけるメモリ管理なんて怖くない!

    Object-C2.0でのメモリ管理には2種類の方法がある。 ・リファレンスカウンタ方式 ・ガーベジコレクション ガーベジコレクションは2.0から採用された自動メモリ管理の仕組みで、Javaのガーベジコレクションと同じ要領である。 一定時間毎に不必要な(参照されていない)クラスを探しだし、解放していく。 これは後にとっておくとして・・・ まずはリファレンスカウンタ方式から詳しく見ていく。 一言でいうと、クラスがいくつ参照されているかをカウンタで管理し、0になったらメモリを解放するという仕組みである。 具体的には alloc init された時点で、インスタンスはカウンタを1とする。 以下例: id foo = [[Foo alloc] init]; // fooインスタンにカウント1が刻まれる [foo release]; // fooインスタンスのカウントは0となり、メモリがリリースされ

  • 1