我在學習開源Android項目時遇到這個問題。Android --- startActivity或startActivityForResult將如何影響當前活動的邏輯流?
我有一個活動A1,在其「onCreate」方法中調用另一個活動A2。但是,在「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是否會首先完成它的執行週期(即 「的onCreate」 - > 「調用onStart」 - > 「的onResume」 - > 「的onPause」 - >「onStop」),然後它會調用A2,或者在調用A2之前首先完成「onCreate」,或者有其他執行邏輯?另外,當A2返回(結束)並調用A1中的「onActivityResult」時,A1執行「onActivityResult」方法後會執行「onRestart」 - >「onStart」 - >「onResume」嗎?
因爲A1和A2都有自己的用戶界面,我認爲這兩個活動可能不會同時與兩個不同的線程執行。有沒有人知道這種情況下的確切執行順序?
在此先感謝您的任何建議。
瞭解[** Activity Lifecycle **](http://developer.android.com/reference/android/app/Activity.html)的工作方式將有所幫助。 –