-1

任何人都可以解釋如果我執行此活動會發生什麼? 我越來越奇怪的輸出和應用程序掛起。 ` 公共類ComedyAct擴展AppCompatActivity {在其onCreate方法中啓動新活動後的上一個活動狀態?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(new ProgressBar(this)); 

    startActivity(new Intent(this,secondact.class)); 

    Log.d("main","I am after start second act"); 
    int i=0; 
    while(i<10000); 

} 

@Override 
protected void onStart() { 
    super.onStart(); 
    int i=0; 
    while(i<10000); 
    Log.d("main","I am in start first act"); 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    int i=0; 
    while(i<10000); 
    Log.d("main","I am in stop first act"); 
} 

} `

注:凡downvoting,請執行程序和解釋output.Atleast的理由給我downvote的原因。

+0

爲什麼不把調試點放在'while(i <10000);'在onCreate中並使用調試器來計算出最新發生 – Raghunandan

+0

@Raghunandan我更感興趣會發生什麼,爲什麼會發生,如果我寫這樣的代碼比單純的輸出。 –

+0

如果你使用調試器的幫手調試 – Raghunandan

回答

0

我建議你閱讀活動的生命週期...

當你開始另一項活動,該活動ComedyAct將處於停止狀態,在onStart絕不會在這種情況下調用..

活動生命週期:

的OnCreate --->的OnStart --->的onResume

當另一個活動啓動 那麼首先的onPause ---->的onStop --->的onDestroy

什麼時候第一次活動會恢復?

首先的的onCreate ----> --->在onStart ---->的onResume,如果活動被摧毀...

但如果該活動沒有destroyed..then首先onRestart的---> onStart ---> OnResume,在這種情況下onCreate將永遠不會被調用......

+0

請運行代碼和ans。 Becoz它會給出意想不到的輸出。解釋輸出。 –

相關問題