[iPhone SDK] アプリ高速化のための5つのノウハウ
1.大量のメモリを使わない,メモリの確保と解放の繰り返しは避けて,再利用
・メモリを大量に使用すると目に見えて実行速度が低下する.また,memoryWarningによる割り込みのメッセージが多発する可能性があるため,その処理にも時間がかかる.
・TableViewでセルの再利用APIが提供されているようにインスタンスの確保と解放の繰り返しは大きく速度に影響を与える.(SDKが出る前,Jailbreak時代は再利用関数を自前で作ってたなぁ・・・)
2.恒久的に使いそうなオブジェクトはなるべく保持する
・利用しているクラスにメモリリークがあると,それの確保・解放を繰り返している内にメモリがどんどん食いつぶされる.怪しいクラスは特に注意して使うようにする.まぁ,なんら抜本的な解決策ではない気もしますが(アップル頼むよ).
3.背景に透明色を使わない
・ついついやってしまうUILabelなどの背景色の透明化ですが,なるべく不要なときは背景色で塗りつぶすようにした方が高速化でき,かなり効果があります.たとえば,UITableViewCellは選択されたときだけ,背景色を透明にすることでかなりスクロールを高速化できます.
4.マルチスレッドは使わない
・Appleも推奨していますが,マルチスレッドも速度低下の原因です.
5.xibファイルからのインスタンスの生成を減らす
・2tchのセルはxibファイルを使わず,すべてコーディングしています.xibファイルからインスタンスを生成するとどうやら遅いようです.(ターゲットとなるインスタンス以外の他に,インスタンスを生成したりして時間がかかるのでしょうか・・・.)
つっこみ歓迎.







コメント
半透明ってそんなに重かったのか、、、削る意識はしてなかったので、自分の方でも試させてもらいます!
投稿者: Toru | 2008年10月25日 20:12
大量に使うと如実にスピードに現れてきますよ
投稿者: sonson | 2008年10月26日 01:01
コメありがとうございます。
ビューを重ねてイメージをレイヤー表示していたのですが、半透明部分をなくすだけで確かにパフォーマンスアップしました。素敵です。
投稿者: Toru | 2008年11月16日 03:20