コールバックにより解放されます。解放する必要がある場合にプロセスを強制終了します。システムが特定のプロセスを強制終了する可能性は、その時点でのプロセスの状態に応じて異なります。同様に、プロセスの状態は、プロセスで実行中のアクティビティの状態に応じて異なります。プロセスの状態、アクティビティの状態、およびシステムがプロセスを強制終了する可能性の相関関係を示します。ライフサイクルとアクティビティの状態の関係システムがメモリを解放するためにアクティビティを直接強制終了することはありません。代わりに、アクティビティが実行されているプロセスを強制終了します。これにより、そのアクティビティだけではなく、プロセスで実行されていたすべての内容が破棄されます。状態を保持し、システムにより開始されたプロセスが終了するときにその状態を復元する方法については、アクティビティ状態の保存と復元をご覧ください。下でプロセスを強制終了し、対応するアプリを強制終了することもできます。プロセスの一般的な詳細については、プロセスとスレッドをご覧ください。プロセスのライフサイクルと、そのプロセス内のアクティビティの状態の関連付けの詳細については、このページのプロセスのライフサイクルのセクションをご覧ください。状態が同一に維持されることを想定しています。状態が同じままであると想定します。ユーザーが離れ、アクティビティが停止している間に、システムがプリケーションのプロセスを破棄することがあります。状態を保持する必要があります。状態を保存するをご覧ください。メソッド(アクティビティ自体に対するコールバック)の実装方法について概説します。両方を使用する必要があります。よりシリアル化/シリアル化解除のコストが発生するためです。インスタンスの状態アクティビティには、通常のアプリの動作によって破棄されるいくつかのシナリオがあります。メソッドを呼び出すことによって自身の破棄を知らせる場合などです。インスタンスは完全に失われます。このシナリオでは、ユーザーの想定がシステムの動作と一致しているので、追加の作業は不要です。インスタンスは失われますが、システムではこのインスタンスが存在していたことが記憶されます。ユーザーがアクティビティに戻ろうとすると、システムは、アクティビティが破棄された時点でのアクティビティの状態を記述する保存済みデータのセットを使用して、アクティビティの新しいインスタンスを作成します。オブジェクトに格納されたキーと値のペアの集合です。ウィジェットに入力されたテキスト値など)。そのため、アクティビティのインスタンスが破棄されてから再作成される場合、レイアウトの状態はコードを必要とすることなく以前の状態に復元されます。アクティビティには、たとえばアクティビティ内のユーザーの作業状況を追跡するメンバー変数など、復元したい情報以外のデータも含まれている場合があります。