タグ

Objective-Cとmemoryに関するsyo-yuのブックマーク (3)

  • Cocoaのメモリ管理方針

    Date: Tue, 24 Oct 2000 10:09:57 +0900 From: "SHIROYAMA Takayuki" <psi@stellar.co.jp> Subject: [macosx-jp:04620] Re: Cocoa のページ To: <macosx-jp@ml.tech-arts.co.jp> Message-Id: <044201c03d57$23d9cfa0$8d00ffca@kanon> References: <200010231110.UAA08426@mail2.rim.or.jp> <20001024094219Y.masato-k@is.aist-nara.ac.jp> X-Mail-Count: 04620 しろやまです。 > > 基は次のようにすれば OK です。 > alloc+init..., retain と release, aut

  • Memory Management of Cocoa

    Cocoaのメモリ管理(3) 保持と解除という方法は、理屈は分かるし簡単そうに見えます。しかし、実際にやってみると意外と難しいことがわかります。そこでCocoaでは少し楽をするための仕組みを導入しています。簡単に言えば、とりあえずなんでも入れておけるごみ袋を用意して、不要になった時点でごみ袋ごと捨てちゃうという方法です。このごみ袋にあたるのが、NSAutoreleasePoolというクラスです。 Application KitにおけるNSAutoreleasePool さて、Cocoaの重要なフレームワークの一つであるApplication Kitの話から始めたいと思います。Application Kitは、主にGUIを持つアプリケーションを作成するためのフレームワークです。このフレームワークを利用して作ったアプリケーション(つまり、ぶっちゃけた話、ProjectBuilderとInter

  • C#とObjective-CとJavaと...(メモリ管理)

    プログラムにとってもっとも基的かつ重要な資源がメモリである。Cは処理系の単純さを目標とし、あらゆる機能の外部化(ライブラリ化)を果たしたため、他の言語では言語の機能に入っていることが多いメモリ管理もライブラリに任せている。mallocとfreeがそれだ。 C++でnewとdeleteが導入され、メモリ管理は言語の機能になり、かなり面倒は減った。 Javaはガベージコレクトという機能で、プログラマをメモリ管理の煩わしさから解放した、というよりはメモリ管理させてくれなくなった。C#も同様である。GraphicGripGropのJava版とC#版にはメモリ管理関連の記述は一切ない。 Objective-Cはメモリ管理に関してはライブラリに任せている。単にmallocとfreeのクラス化されたものなら良かったのだがさにあらず、NSAutoreleasePoolというかなり厄介なクラスを前提として

  • 1