タグ

2011年5月24日のブックマーク (3件)

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

    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言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
    monjudoh
    monjudoh 2011/05/24
    alloc init→retain有、class名→retain無。メンバ変数への代入→要retain、代入で置き換えられる変数→要release。ゲッタではretainCount実質0で返す。セッタではretainCount実質0で受ける。→プロパティアクセスの場合retain・release不要。
  • Just Like You Do

    Yahoo! PRESS から出版されている High Perfomance JavaScript を読んだメモ書きです。 Chapter 1: Loading and Execution JavaScript のコードを読み込むときは、ブラウザは <script> タグの中で DOM を書き換えるかどうかを予め判断できないので、別スレッドにはできない。 IE だと <script> タグに "deferred" 属性を付けることで読み込みを遅延させられる。 loadScript(url, callback) 関数だけを先に送り出してあげて、アプリケーションコードの体は後から送信するようにする。YUI().use() など。 Chapter 2: Data Access Literal values, Variables, Array items, Object members へのアク

    monjudoh
    monjudoh 2011/05/24
    なぜ25ms?『再帰処理は setTimeout(arguments.callee, 25); でも実現できる。タイムアウト時間は 25 が良いらしい。研究成果か経験則。』
  • Titanium Mobileの暗黒ノウハウを公開します。主にAndroid編。 - このブログは証明できない。

    すこし前の話になりますが、Titaniumを使ってiPhoneアプリAndroidアプリを同時リリースしました。iPhoneアプリの方は、以前公開した暗黒ノウハウでわりと楽に作れました。問題は、AndroidiPhoneとは違う暗黒ノウハウが必要となりました。 Titanium Mobileの暗黒ノウハウを公開します。 - このブログは証明できない。 今回は、ボリューム少なめです。もう少したまってから公開しようと思ったのですが、Objective-Cを使った開発に戻ったので、しばらくTitaniumは使わないだろうということで公開することにしました。そうそう、日語でTitaniumの書籍が出るみたいですね。 Android対応 TitaniumはiPhone対応が先行していて、Androidだと機能がなかったりバグがあったりするそうです。私はわりとどうでもいいアプリしか作ってないので

    Titanium Mobileの暗黒ノウハウを公開します。主にAndroid編。 - このブログは証明できない。
    monjudoh
    monjudoh 2011/05/24
    比較的理想的な状況だったとしても手を出す気はない(CoreDataサポートとか期待できないので)のだが、Android対応状況がここまでひどかったとは。