アクティビティAとBの2つのアクティビティがあるとします。アクティビティAはバックグラウンドに移動します。アクティビティAは一時停止しています。アクティビティBは、フォーカス、すなわちフォアグラウンドをとる。あなたが戻るボタンをクリックすると、アクティビティAはバックスタックからポップされ、アクティビティAはフォーカスをとります。つまり、アクティビティAが再開します。
アクティビティでダイアログを表示すると、[戻る]ボタンのクリック時に一時停止中のアクティビティとダイアログが表示され、アクティビティが再開されます(フォアグラウンド)。
アクティビティがもう実行されていないときは、バックグラウンドで一時停止しています。私はRaghav Soodに、アプリクラッシュ時に何が起こるかに同意します。
あなたが通常にonPause()コールバックを使用する必要があります。
ストップアニメーションやCPUを消費する可能性が他の進行中のアクション。 保存されていない変更をコミットします。ただし、ユーザーが退去時に永久に保存されるような変更(メールの下書きなど)が必要な場合に限ります。 ブロードキャストレシーバなどのシステムリソース、センサ(GPSなど)へのハンドル、またはアクティビティが一時停止している間にバッテリ寿命に影響を与える可能性のあるリソースを解放します。
注:
複数のタスクを同時にバックグラウンドで保持することができます。ただし、ユーザーが複数のバックグラウンドタスクを同時に実行している場合、システムはバックグラウンドアクティビティを破棄してメモリを回復し、アクティビティ状態を失わせる可能性があります。
メモリが少なく、システムが現在の実行中の操作のためにメモリを回復する必要がある場合、一時停止されたアクティビティが破棄されます(優先度に応じて)。 – Raghunandan