[TitaniumMobile]いろいろ便利関数集

TITANIUM_logo1_original.png

何となく間に合わない予感がしていたので先送りしていたTitanium mobile Advent Calendar 2012、前倒しで参加表明したら、案の定ネタが思い浮かばないうちに当日になってしまいました。
大丈夫。こういうときは、自作便利関数ライブラリを公開するといいっておじいちゃんが言ってたので、ボクのutil.jsの中身を公開します。


文字列をあれこれする便利関数

前後の空白を削除するとか、改行を落とすとか。
ちなみに、見落としがちですが、printfはGlobal.Stringとしてあらかじめ定義されています。

var_dump

PHPでいうところのvar_dump、オブジェクトの中身が見たいときは、

Ti.API.debug(JSON.stringify(obj));
という具合にすれば見られる。
Ti.API.debug(obj); で見られた牧歌的な時代もあったらしいけど、今試してみたらやっぱりダメだった。

速度の計測

できあがったアプリがなんか遅いのでチューニングが必要だ、となった場合、「推測するな,計測せよ」の原則に従って、まずどこに時間がかかっているのが鉄則です。
ということで、処理時間を計測するためのコード。

こういうふうにして使います。
var trace = new util.TraceLog;
trace.start('hoge handler');
//時間がかかってそうな処理1
trace.lap('hoge handler 1');
//時間がかかってそうな処理2
trace.lap('hoge handler 2');
//時間がかかってそうな処理3
trace.stop('hoge handler');
そうすると、こういうログが得られます。
12-08 02:07:14.035: D/TiAPI(25391): [hoge handler] has started
12-08 02:07:14.039: D/TiAPI(25391): [hoge handler 1] has passed at 2ms
12-08 02:07:14.137: D/TiAPI(25391): [hoge handler 2] has passed at 100ms
12-08 02:07:14.137: D/TiAPI(25391): [hoge handler] has finished at 100ms

処理に時間がかかっているのは「時間がかかってそうな処理2」の部分だ!ということが一目瞭然になります。
さらにtrace.lapをつっこんで犯人を絞り込むもよし、十分にわかったのであれば腕をふるって高速化に着手するもよしですね。

明日は@tady_jpさんですね。よろしくお願いしますー。

カテゴリ:

トラックバック(0)

このブログ記事を参照しているブログ一覧: [TitaniumMobile]いろいろ便利関数集

このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/1588

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、 もぎゃが 2012年12月 8日 00:46に書いたブログ記事です。

ひとつ前のブログ記事は「 svgで画像ファイルを量産する 」です。

次のブログ記事は「 [GoogleMapsAPI] APIと組み合わせる時のイベントはidleを使う 」です。

最近のコンテンツは インデックスページ で見られます。過去に書かれたものは アーカイブのページ で見られます。

Powered by
Movable Type