オープンソースの Android プロジェクトを研究しているときに、この質問があります。
「onCreate」メソッドで別のアクティビティ A2 を呼び出すアクティビティ A1 があります。ただし、「startActivity / startActivityForResult」メソッドの前後にコード ステートメントがあります。「startActivity/startActivityForResult」メソッド以降のA1での実行シーケンスがわかりません。
A1 のコード フレームワークを以下に示します。
public void onCreate(Bundle bundle) {
<code statements before>
this.startActivityForResult(.....); // Start A2 here.
<code statements after>
}
public void onResume() {
<code statements>
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
<code statements>
}
.....
A1がA2を呼び出す前に最初に実行サイクル(つまり、「onCreate」->「onStart」->「onResume」->「onPause」->「onStop」)を終了するのか、それとも最初に「onCreate」を終了してからA2を呼び出すのか疑問に思いますA2を呼び出すか、または他の実行ロジックがありますか?
また、A2がリターン(終了)し、A1のonActivityResultが呼び出された場合、A1はonActivityResultメソッドを実行後、onRestart→onStart→onResumeを実行するのでしょうか?
A1 と A2 の両方に独自の UI があるため、2 つのアクティビティが 2 つの異なるスレッドで同時に実行されない可能性があると思います。この場合の正確な実行シーケンスを知っている人はいますか?
ご提案いただきありがとうございます。