次の方法でアプリの速度を上げることができます
。 1.プロジェクトに含めた js の縮小バージョンを使用します。
2.大きなサイズの画像は使用しないでください。それらを Web 互換の PNG ファイルで調整する 画像を最適化する CSS スプライト シートを使用する
.icon {
width: 14px; height: 14px;
background-image: url("glyphicons-halflings.png");
}
.icon-glass {
background-position: 0 0;
}
.icon-music {
background-position: -24px 0;
}
.icon-search {
background-position: -48px 0;
}
適切な画像サイズを使用する (HTML で画像をスケーリングしない) スケーラブルな分散システム (S3 など) で画像をホストする 画像の 404 を回避する
<img src="{{pic}}" onerror='this.src="nopic.jpg"'/>
3. CSS の多くを使用しないようにします。シャドウとグラデーションを制限する link box-shadow,border-radius,gradients,text-align 速度を低下させる CSS の一部を無効にしてみてください (Simon MacDonald のアイデア)。jquery mobile .css ファイルで、これを一番下に追加します。
* {
text-shadow: none !important;
-webkit-box-shadow: none !important;
-webkit-border-radius:0 !important;
-webkit-border-top-left-radius:0 !important;
-webkit-border-bottom-left-radius:0 !important;
-webkit-border-bottom-right-radius:0 !important;
-webkit-border-top-right-radius:0 !important;
}
4. CSS トランジション + ハードウェア アクセラレーションを使用します。 ネイティブ スクロール
を使用します。
6. FastClick FastClick は、モバイル ブラウザでの物理的なタップとクリック イベントの発火の間の 300 ミリ秒の遅延をなくすためのシンプルで使いやすいライブラリです。(jjsquared のアイデア)
7. Slpash スクリーンを使用します。
8.フレームワークの使用は、必要な場合にのみ使用しないでください。レスポンシブデザインに挑戦。
9.サーバーで UI を生成しないでください。クライアント側で JavaScript で UI を作成します
。 10.リフローを最小限に抑えます。
- DOM 要素の数を減らします。
- DOM に再挿入する前に、「オフライン」での DOM Update 要素へのアクセスを最小限に抑えます。
- JavaScript でのレイアウトの微調整を避ける
スロー
$("#header a.back").on("click", clickHandler);
$("#header a.back").css("color", "white");
$("#header a.back").css("text-decoration", "none");
$("#header a.back").attr("href", "#");
速い
var $backButton = $("#header a.back");
$backButton.on("click", clickHandler);
$backButton.css("color", "white");
$backButton.css("text-decoration", "none");
$backButton.attr("href", "#");
11.ネットワーク アクセスを避ける コンテンツを取得するためにネットワークに依存するアプリを作成しない
$.ajax({url: "services/states"}).done(function(data) {
states = data;
});
Cache Static Data LocalStorage、Database & File の使用
が遅い
$.ajax({url: "slow/feed"}).done(function(data) {
});
速い
dataAdapter.getItems().done(function(data) {
});
12.データが UI に表示されるのを待たない
// Display view
displayView();
// Get data
$.ajax({url: "product/101"}).done(function(product) {
// Update view
});