タグ

メモリ管理に関するasonasのブックマーク (6)

  • iOS 5 公開記念! Objective-Cのメモリ管理の革命、 ARC 超入門(サンプルはgitHubに公開) – Zero4Racer PRO Developer's Blog

    iOS 5が公開されて、Dev CenterもWe’ll be back soon になっています。 iOS5 NDA will be gone soon! 記念に、iOS 5 のプログラム面での変化、ARCを使った簡単なサンプルをGitHubに登録しましたのでご覧下さい。 追記:うーねこ? (@ne_ko_)さんからの指摘であった、”クラス変数”という間違えた記述を、”インスタンス変数”という正しい記述に変更しました。 tomohisa/EasyBlockCallback – GitHub ARC は、メモリ管理でこれまで手動で行っていた、 Retain Release Autorelease を自動でコンパイラで行うようにさせる方式です。一定のルールに従う必要がありますが、メモリ管理に関する、Retain、Releaseを書かなくてよくなります。このサンプルには、ARCを使っているプロ

  • XCodeでメモリリークを簡単に調べる方法 | Last Day. jp

    はじめに iPhoneアプリを開発するにはメモリ管理は当に重要です。メモリリークが起きると、アプリケーションたちまちクラッシュを起こしてしまいます。 それで前々からメモリリークを調べる方法を調べていたのですが、Clang Static Analyzerが出てきました。 でもこれ、ターミナルどうのこうので初心者の僕にはなんだか難しそうで、、、諦めていたんですが、XCodeにClang Staticエンジンが搭載されたらしいので、設定方法を紹介します。 設定方法 ①プロジェクトからプロジェクト設定編集をクリック ②ビルトタブを選んで静的アナライザに✔を入れます。 ③Buil and Analyze で解析します! たったこれだけで、メモリリークを調べる事ができます。 初めて当ブログに訪れた方や何度か当ブログにお越し頂いている皆様。もしブログの内容が気に入って頂けましたらRSS

  • こたつつきみかん : retain と copy の使い分け方

    Objective-C のメモリ管理やオブジェクトのオーナーシップは、Objective-Cを始めるプログラマにとって、少なからず理解に苦しむこともあるようですが、今回はある程度理解したプログラマ向けの、 retain と copy の使い分け方を書こうと思います。 実は、この retain と copy の使い分け方は、Cocoa基礎ガイドにも載っています。 copyとretainの使用面における違いは、前者の場合、新しい所有者による単独使用のためにオブジェクトが要求されることです。新しい所有者は、コピー元に関係なく、コピーしたオブジェクトを変異させることができます。通常、オブジェクトを保持するのではなくコピーするのは、オブジェクトが値オブジェクトの場合、つまり何らかのプリミティブな値をカプセル化している場合です。このことは、オブジェクトがNSMutableStringなどのように可変(

  • ゆとりiPhoneプログラマの為のメモリ管理 | fladdict

    主にFlashのガベコレで脳が弛緩してる、ゆとりiPhoneプログラマ向けのメモリ管理術。しち面倒なRetainCountの管理を30秒で解決するよ。 1:とりあえず NSMutableDictionary を1個作る。このDictionaryはプロパティとして保持する。 2:alloc / init でインスタンスを作るときは、[[[ClassName alloc]init]autorelease] と必ずオートリリースをつける。 3:[NSString stringWith〜] のように、allocとinitを経ずにインスタンスを作る場合は、自分で勝手にretainをしない。 4:作成したインスタンスは持続的に必要な場合、NSMutableDictionary に突っ込む。 5:必要なくなったインスタンスは、NSMutableDictionary から remove する。 こうすると

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

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

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

    メモリ管理を理解する(前編):Cocoaの素、Objective-Cを知ろう(7)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) あらゆるアプリケーションは、システムのメモリ上に展開されて動作します。 メモリは限られた資源なので、アプリケーションは資源を無駄に消費しないよう自己管理しながら動作する必要があります。この動作を実現するのが、開発者によるメモリ管理の実装です。 新しく登場した言語のなかにはメモリ管理が自動で行われる(言語のエンジン部分で暗黙的にメモリ管理がされている)ものが多いため、開発者がメモリ管理を意識することが少なくなっています。 実際、Objective-Cでも、Objective-C 2.0から(Mac OS X 10.5 から)はガベージコレ

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