電話アプリケーションのホットスタートユーザーエクスペリエンスの最適化
1636 ワード
電話アプリケーションのホットスタートユーザーエクスペリエンスの最適化
ホットスタート定義:最下層Activityで、戻るボタンをクリックします.Activityが消えたら、デスクトップアイコンをクリックするか、最近のタスクから開くか、MainActivityを適用して再起動します.今回の起動はホット起動です.
戻るボタンをクリックすると、Activityのfinish操作がデフォルトでトリガーされますが、プロセスは殺されません.したがって,ホットスタート時間を適用することは,最初のActivityを作成する時間と考えられる.MainActivityの作成と表示を高速化することが、ホットスタート最適化の核心です.
1.他社の試作品とサードパーティのAppを比較する
2.電話応用上記方法を用いて熱起動前後の比較を最適化する
電話の一番下のActivityの戻りボタンロジックを、ホームと同じように変更したときのメモリの変化は以下の通りです.
1)修正前
Backを押してアプリケーションを終了
デスクトップアイコンをクリックしてアプリケーションを起動
2)修正後
Backを押してアプリケーションを終了
デスクトップアイコンをクリックしてアプリケーションを起動
上記の現象から,電話のメインインタフェースActivityロックが占めるメモリは大きくなく,1~2 M程度であることが分かる.修正後、backをクリックして再開し、安定したメモリを適用してもほとんど変化しません.したがって,ユーザがBackボタンをクリックすると,このActivityを完全に保持し,高速熱起動の目的を達成することができる.
3.具体的な実現
0.
コードは以下のように実現される.@Override
public void onBackPressed() {
if (!moveTaskToBack(true)) {
super.onBackPressed();
}
}
1.
Android自体の設計は、AppがBackの動作をカスタマイズすることを許可するので、理論的にはすべてのタイプのAppがこのスキームを採用して最適化することができます.2.
メインインタフェースがメモリを占有する比較的少ないアプリケーションは直接コード対応コードを追加すればよい.3.
ヘッダインタフェースでメモリリソースを多く消費するアプリケーションでは、ActivityおよびFragmentのdestroyメソッドを確認し、リソースを解放する操作をpauseまたはstopに移動し、createメソッドを確認し、リソースをロードする操作をresumeまたはstartに移動する必要があります.