android Activity 的生命周期的詳解

1、當開啟一個activity 時它會調用 onCreat() ——> onStart()——> onResume()  
     a、此時當你按下home 鍵時會觸發 onPause() ——> onStop(),此刻在找到圖標點擊進去時程序會調用 onRestart()——> onStart() ——> onResume();結論:(按下home 鍵   時當前的acitvity 沒有被銷毀)  
     b、此時當你按back 鍵返回時程序會調用 onPause() ——> onStop() ——> onDestroy() ,這時Activity才被銷毀  
     c、當一個activity 橫屏切堅屏時它的生命周期:onPause()——> onStop()——> onDestroy()——> onCreate() ——>onStart()——> onResume(),此時程序會去重新創建一個activity   
2、當一個activity 跳轉到另一個activity 時的生命周期  
onPauseA()——> onCreateB() ——onStartB() ——> onResumeB() ——> onStopA();  
當從前一個activity 跳轉到第二個activity 的過程中,如果手動把第一個acitivity finish() 掉時,會調用 onDestroyA();  
        onPauseA()——> onCreateB() ——onStartB() ——> onResumeB() ——> onStopA() ——> onDestroyA();  
結論:當後一個Activity 顯示的時候,程序才會去調用前一個activity 的onStopA() 方法。  

 

 

note:在開發中如果不想讓程序在橫豎屏切換時出現重新創建actvity  ,可在相應的activity 標簽下加入這樣配置:android:configChanges="orientation|keyboardHidden|screenSize" ,這樣當你切換屏幕時不會去創建新的activity  

發佈留言