[Titanium Mobile]Performance改善のためApplicationの設計を見直す
Android, iPhoneアプリが一段落したので、次期開発に向けてアプリの設計とより良いパファーマンスを得られる書き方など調べ直したときの覚書。
環境:Titanium SDK 3.1.3.GA
まず公式ドキュメント
アプリのサンプルも公開されてた。
でもこれ2年間更新されてない(SDK v1.8.1)ので、abcsWriterの方がいいかも。
両方とも「名前付き関数(named function)」を多用しているので無名関数(nameless function, anonymous function)とどっちがいいか調査。
- nameless vs named function · jsPerf
- Are named functions or anonymous functions preferred in JavaScript? - Stack Overflow
名前付き関数の方が速いらしい。
var hogeFunc = function() {};
このような無名関数を基本使っていたのでショック。今後は名前付きにしよう。。。
< 2013/11/20 Modified >
ChariTiというアプリが非常に参考になる。
lib/core.js, lib/http.js, utilities.jsとかヨダレが出そうになるぐらい。別記事で詳細を紹介する予定。
去年のCODESTRONG(カンファレンス)のビデオを見てみた。
今後気をつけること。
- setterを使うよりプロパティでアクセスした方が速い
- "透明"はコストが掛かるので常に背景色を設定した方が速い
関連した記事も見つけた。これは実際やってみる。
- Titanium Mobileでアプリ開発: UI部品数が多いView表示の高速化
→ visible=falseにしておいて、処理完了後にvisible=trueにした方が速いらしい。
公式ドキュメントからリンクされてたこちらの記事はTitanium Mobile(CommonJS)におけるオブジェクト指向の記述方法をサンプルで分かりやすく解説している良記事。
余力があるなら下記記事もチェック
作ったアプリでメモリリークがないかチェックする方法
限られた開発期間の中でもチェックできるような体制にしたい。
< Related Posts >