ホームページ >Java >&#&チュートリアル >Android 開発シリーズ 2: ウィンドウ アクティビティのライフ サイクル
前回の記事では、Android 開発シリーズで時間を表示するためのボタンの使用方法を紹介しました。興味のある方は、クリックして詳細を読んでください。
アクティビティの作成から破棄までのプロセスでは、7 つのライフサイクル メソッドをさまざまな段階で呼び出す必要があります。これらの 7 つのライフ サイクル メソッドは次のように定義されます。特定の順序で呼び出します
1 アクティビティを開始します: この段階では、onCreate、onStart、onResume という 3 つのライフサイクル メソッドが順番に実行されます
2。アクティビティがフォーカスを取得して他のアクティビティに入った場合。この段階で、onPause メソッドと onStop メソッド
3 が順番に実行され、アクティビティはフォーカスを取り戻します。このとき、onRestart、onStart、onResume メソッド
4 が実行されます。アクティビティを閉じるために順番に: アクティビティが閉じられると、システムは 3 つのライフサイクル メソッド、つまり onPause、onStop、onDestory を順番に実行します
これら 4 つのライフサイクル メソッドの実行中に状態が変化しない場合実行中に状態が変化した場合、システムはより複雑な方法でライフサイクル メソッドを呼び出します
onStop メソッドの実行中にアクティビティがフォーカスを取り戻した後、フォーカスを失った場合、システムは上記の順序で 4 を実行します。 、システムは onDestory メソッドは実行されませんが、ライフサイクル メソッドは次の順序で実行されます
onStop->onRestart->onStart->onResume->onPause->onStop
次の図は、作成から破棄までのアクティビティと、中間状態が変化した後のライフ サイクル メソッドの呼び出しプロセスを説明しています
上に示したアクティビティ ライフ サイクル呼び出しメソッドの図から、アクティビティ ライフ サイクル全体に 2 つの層が含まれていることを確認するのは難しくありません。ループの最初の層は onPause->onResume->onPause で、2 番目の層のループは onStop->onRestart->onStart->onResume->onPause->onStop です。これら 2 つのレベルのサイクルは、アクティビティのライフ サイクル全体におけるサブライフ サイクルとみなすことができます。
ループの最初のレベルはフォーカス ライフ サイクルと呼ばれ、ループの 2 番目のレベルは、アクティビティのフォーカスの獲得と喪失の過程でループされます。このプロセス、Activity は常に表示されます。ループの 2 番目の層は、Activity の可視化と非表示化のプロセス、つまり、Activity のフォーカスの取得と喪失を伴います。最初に表示され、その後フォーカスが得られ、次にフォーカスが失われ、最終的には他のアクティビティがポップアップするため、現在のアクティビティが非表示になります。
したがって、Activityには以下の3つのライフサイクルがあります:
1. 全体のライフサイクル: onCreate->....->onDestroy
2. Visualライフサイクル: onStart->....- > ;onStop
3. フォーカスライフサイクル: onResume->....->onPause
次のコードは、Activity クラスの 7 つのライフサイクル メソッドにログ情報を出力します
protected void onCreate(Bundle savedInstanceState) protected void onStart() protected void onResume() protected void onPause() protected void onStop() protected void onRestart() protected void onDestroy()
Open Android Deviceモニター観察
画像の赤いボックスはフォーカスを取り戻すためのものです。他のものは 1 つずつ試すことができます 上記の内容は、Android 学習シリーズの第 2 部で紹介されているウィンドウ アクティビティのライフ サイクルです。編集者、上記が皆さんのお役に立てば幸いです。Android 開発の第 2 シリーズにおけるウィンドウ アクティビティのライフ サイクルに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。