アクティビティの起動フローを教えてください。

Androidにおいて、アクティビティの起動の流れは概ね次のようになります。

  1. startActivity(インテント)メソッドまたはstartActivityForResult(インテント、リクエストコード)メソッドを呼び出して、対象アクティビティの開始を要求します。
  2. システムがターゲットのアクティビティが存在するかを確認し、現在のアプリがそのアクティビティにアクセスするための権限があるかをチェックします。
  3. ターゲットアクティビティが存在し、 アクセス権がある場合には、 システムは アクティビティの新たなインスタンスを作成し、 アクティビティスタックに追加します。
  4. アプリが生成すると、ターゲットアクティビティのonCreate()メソッドがシステムによって呼び出され、アクティビティに初期化を指示します。
  5. TargetActivity の onCreate() メソッドが完了すると、onStart() メソッドがシステムによって呼び出され、Activity が起動中であることを示します。
  6. 次に、アクティビティが表示され、ユーザとインタラクションが可能であることを示す、onResume()メソッドがシステムによって呼び出されます。
  7. 他の画面への遷移で結果を待機する場合、呼び出した画面はonPause()の状態に移行し、結果を待つ。
  8. ターゲットアクティビティがタスクを完了すると、setResult(resultCode、data)メソッドが呼び出され、呼び出したアクティビティに結果が返されます。
  9. ターゲットアクティビティは、結果を取得するとfinish()メソッドを呼び出して自身を破棄し、呼び出したアクティビティに結果を返します。
  10. 呼び出されたアクティビティはonResume()状態にもう一度入り、onActivityResult()メソッドを通して戻り値を取得します。
  11. 他のアクティビティが起動され、結果が不要な場合、現在のアクティビティはonStop()状態に入り、ユーザーが戻ってくるのを待ちます。
  12. ユーザーがそのアクティビティに戻ったとき、システムはonRestart()メソッドを呼び出してそのアクティビティを再起動します。
  13. 次に、onStart() メソッドと onResume() メソッドがシステムによって呼び出され、アクティビティが再び表示および操作可能な状態になります。
bannerAds