SenchaTouch+Cordovaで作成したアプリの起動速度を調整してみました。
iOSアプリの場合はまだいい感じではありますが、Androidアプリの場合は結構時間がかかります。
対応前後の起動時間
対応前 : 14秒
対応後 : 3.6秒
対応内容
1.グラフライブラリの読み込みを後回し
最初にロードしなくてもいい内容のため、2秒後にロードする。
変更前
google.load("visualization", "1", {packages:["corechart"]});
変更後
setTimeout(function(){
google.load("visualization", "1", {packages:["corechart"], callback: function(){}});
}, 2000);
※ callbackを追加しないと、画面が真っ白になりました。
2.ビューの追加を後回し
最初にロードしなくてもいい内容のため、表示する直前にロードする。
変更前
app/view/Main.js
// 画面表示の際に読み込む
items: [{
xtype: 'view-common-titlebar',
title: tl('rate.title', 'レート'),
items: [{
align: 'right',
iconCls: 'refresh',
action: 'view-rate-btn-reload'
}]
},{
xtype: 'view-rate'
}]
変更後
app/view/Main.js
// タイトルだけ表示する
items: [{
xtype: 'view-common-titlebar',
title: tl('rate.title', 'レート'),
items: [{
align: 'right',
iconCls: 'refresh',
action: 'view-rate-btn-reload'
}]
}]
// メニューを選択するタイミングでアイテムを追加する
panel.add(Ext.create('FXAlert.view.Rate'));
まとめ
細かいことを真剣に調整することで成果を出ていると思います。
結構ご迷惑をおかけいたしました。
実装済みアプリ
- FXAlert - 外為のアラート通知アプリ ver.3.3.0