インスタンスは、ライフサイクルの状態の間で遷移します。クラスで提供される複数のコールバックにより、状態が変化したこと、つまりシステムがアクティビティを作成、停止、再開したか、またはアクティビティが存在しているプロセスを破棄したことを、アクティビティが認識できるようになります。メソッドでは、ユーザーがアクティビティを離れたり、再開させたりした場合のアクティビティの動作について宣言することができます。プレーヤーをビルドしている場合、ユーザーが別のアプリに切り替えた際にビデオを一時停止したり、ネットワーク接続を終了させたりすることが可能です。ユーザーが戻った場合には、ネットワークに再接続し、一時停止した場所から動画を再開できるようにすることができます。各コールバックにより、特定の状態変化に対して適切な処理を実行できるようになります。適切なタイミングで適切な処理を実行し、遷移を適切に処理することで、アプリの堅牢性とパフォーマンスが向上します。コールバックを適切に実装することで、アプリは以下の状況を回避できるようになります。アプリの使用中にユーザーが通話を受けたり、別のアプリに切り替えたりするとクラッシュする。ユーザーの使用頻度が低いときに貴重なシステムリソースを消費する。ユーザーがアプリから離れ、後で復帰した場合に、アプリを離れた時点の作業状態が失われる。画面の向きが横向きと縦向きとの間で切り替わったときに、クラッシュしたり、ユーザーの作業内容が失われたりする。このドキュメントでは、アクティビティのライフサイクルについて詳しく説明します。最初に、ライフサイクルの流れについて説明します。次に、各コールバックについて、コールバックの実行中に内部で行われる処理と、コールバックの実行中に何を実装すべきかを説明します。その後、アクティビティの状態と、システムにより強制終了されるプロセスの脆弱性の関係について説明します。最後に、アクティビティの状態の遷移に関連するいくつかのトピックについて説明します。状態を保存するをご覧ください。ガイドをご覧ください。つのコールバックのコアセットが提供されます。アクティビティが新しい状態になると、システムによりこれらの各コールバックが呼び出されます。この流れを図示しています。アクティビティのライフサイクルの簡略図。ユーザーがアクティビティを離れる操作を開始すると、システムはアクティビティを破棄するためのメソッドを呼び出します。この破棄は、部分的に行われる場合もあります。アクティビティが引き続きメモリに残り(ユーザーが別のアプリに切り替える場合など)、後でそのアクティビティがフォアグラウンドに戻ることがあります。ユーザーがそのアクティビティに戻ると、ユーザーが離れた位置からアクティビティが再開されます。いくつかの例外を除き、アプリはバックグラウンドで実行中にアクティビティを開始することはできません。強制終了する可能性は、その時点でのアクティビティの状態によって異なります。アクティビティの状態とメモリからのイジェクトに、状態とイジェクションに対する脆弱性との間の関係について詳しい説明があります。メソッドを実装する必要はありません。それぞれのメソッドについて理解したうえで、アプリがユーザーの期待する動作になるよう各メソッドを実装することが重要です。このドキュメントの次のセクションでは、状態間の遷移の処理に使用するコールバックについて詳しく説明します。メソッドのコンセプトと実装について説明します。ライフサイクルのメソッド自体に属しています。従属コンポーネントのアクションを実装するコードは、コンポーネント自体に配置される必要があります。このためには、従属コンポーネントをライフサイクル対応にする必要があります。従属コンポーネントをライフサイクル対応にする方法については、ライフサイクル対応コンポーネントによるライフサイクルの処理をご覧ください。メソッドを実装する必要があります。これは、システムが初めてアクティビティを作成するときに発生するコールバックです。アクティビティの作成時に、アクティビティは作成状態になります。メソッドでは、アクティビティの存続期間にわたり一度だけ発生する必要がある基本的なアプリケーション起動ロジックを実行します。関連付けられ、いくつかのクラススコープの変数がインスタンス化されます。