タグ

objective-cとメモリリークに関するMiyakeyのブックマーク (2)

  • メモリ管理を理解する(後編)

    メモリ管理を理解する(後編):Cocoaの素、Objective-Cを知ろう(8)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) メモリのretainやreleaseの定石 前回「メモリ管理を理解する」では、オブジェクトの所有権の取得と解放の基的な仕組みについて説明しました。 ここで紹介したようなごくシンプルなプログラムであれば、どこでretainし、どこでreleaseするかについてあまり迷うことはないでしょう。 しかし、一般的なアプリケーションの規模になると、多くのクラスやオブジェクトが複雑に関わってきますし、それらを多人数で分担して開発する場合もあります。 そうなると、releaseを忘れて不要なオブジェクトがメモリ上に溜まっていき、メモリをいつぶしてし

    メモリ管理を理解する(後編)
  • iPhoneアプリケーション開発: Objective-Cにおけるメモリ管理

    メモリ管理の大まかな原則 C言語と共通の部分について、メモリ管理で気をつけることは特にありません。Cで気をつけることと共通です。 自分がmalloc()で確保したメモリは忘れずfree()で開放しましょうということだけです。従って、多くの場合に問題になるのはObjective-C固有の部分です。 Objective-Cのオブジェクトはretain countというものを持っています。生成すると0から1になります。 そのオブジェクトに関連付けられている変数名でretainをすれば、カウントが1増えます。 releaseをするとカウントが1減ります。run loopと呼ばれるシステムへの応答処理へ入った時、 このカウントが0になっているものはメモリ上から消えるようになっています。 autoreleaseとした場合には、適当と思われる部分で自動的に開放されるので、自分でreleaseを行う必要は

  • 1