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