タグ

ブックマーク / kamiyan.hatenablog.jp (2)

  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
    taka222
    taka222 2011/02/22
  • iPhone OS 4.0の新機能 - かみやんの技術者日記

    OS4.0はiPadには対応していない。iPhoneとiPod touchのみに対応している。 マルチタスク SDK4.0以降でビルドし、OS4.0以降で実行すればアプリケーションはホームボタンを押しても終了しない。 ホームボタンを押すと、バックグラウンド実行コンテキストへ移る。これは多くのアプリではバックグラウンドになったらすぐにサスペンド状態に入るということ。アプリをメモリに保持し起動処理を省略することができ、ユーザエクスペリエンスは、向上する。また、アプリをサスペンドすることで、CPUパワーの使用は最小化され、フォアグランドアプリの実行時間を増やす。 大抵のアプリではバックグラウンドになったらすぐにサスペンドする。バックグラウンドでも動き続けるアプリの場合は、次のテクニックが必要である。 アプリは、いくつかの重要なタスクを完了するために有限の時間を要求できる(長時間タスク) アプリは

    iPhone OS 4.0の新機能 - かみやんの技術者日記
    taka222
    taka222 2010/06/23
  • 1