Androidのライフサイクル管理は、大きく分けて
、誕生から死までのライフサイクル、対応するメソッドはonCreateとonDestroy、開始と
終了の停止状態、対応するメソッドはonStartとonStop、開始と
終了の一時停止状態、対応するメソッドです。 onResumeとonPauseです。
次に、ストップウォッチAPPシナリオを例として取り上げ、次の3つの状態(
STARTはタイミングを開始し、STOPはタイミングを停止し、RESETは0からタイミングを開始します)に適用可能なシナリオを要約します。
生から死までのライフサイクルは、最大のライフサイクル管理、つまり、作成されてから死ぬまでのアクティビティの状態です。この時点で、対応するシナリオは次のとおりです。Android画面のときにonDestroyとonCreateが順番に呼び出される場合フリップすると、前のフリップは保存されません。ロールオーバー前の状態を保存する場合は、onSaveInstanceStateメソッドを呼び出すことができます。再度有効にすると、カウント値とリセットするかどうかのブール値が取得されます。
関連するコードは次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState != null){
//之前的状态
seconds = savedInstanceState.getInt("seconds");
running = savedInstanceState.getBoolean("running");
wasRunning = savedInstanceState.getBoolean("wasRunning");
}
runTimer(); //定时器任务,定时取出Seconds值
}
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("seconds",seconds);
savedInstanceState.putBoolean("running",running);
savedInstanceState.putBoolean("wasRunning",wasRunning);
}
一時停止状態に出入りする使用シナリオは、APPがHOMEキーを押した後にバックグラウンドに入るとき、APPはタイミングを一時停止します。フォアグラウンドに戻るとき、タイミングは継続し、前の状態値も保存する必要があります。
関連するコードは次のとおりです。
protected void onStart() {
super.onStart();
if(wasRunning){
running = true;
}
}
protected void onStop() {
super.onStop();
wasRunning = running;
running = false;
}
一時停止状態の開始と終了の使用シナリオは、携帯電話を分割画面で使用でき、フォーカスを失った後もAPPが表示されている場合です。このとき、APPを一時停止する必要があり、タイミングはフォーカスが回復します。この状態が最小状態です。関連するコードは次のとおりです。
protected void onResume() {
super.onResume();
if(wasRunning){
running = true;
}
}
protected void onPause() {
super.onPause();
wasRunning = running;
running = false;
}
概要:
誕生から死までのライフサイクルは、誕生から死までのサイクルを表す大きなサイクルです。インと
アウトの停止状態は、可視性と消失のサイクルを表す中間サイクルです。インと
アウトの一時停止状態は、フォーカスの獲得と喪失のサイクルを表す小さなサイクル。
参考資料:
https ://www.icourse163.org/learn/BFU-1205989803?tid = 1450759471&from = study#/ learn / contentモバイル開発テクノロジーに関するMOOCコース