Android Activity 生命活動週期再驗證

Android Activity 生命活動週期再驗證 

Activity的launchmode爲默認值。 
1.桌面圖標啓動Ap,按Back鍵返回: 
onCreate() 
onStart() 
onResume() 
【Back鍵按下】 
onPause() 
onStop() 
onDestroy() 
2.長按Home按鍵,從最近程序中點擊圖標進入: 
與情況1相同。 
3.啓動Ap,按Home按鍵,然後再點擊圖標進入: 
onCreate() 
onStart() 
onResume() 
【Home鍵按下】 
onPause() 
onStop() 
【再次進入Ap】 
onRestart() 
onStart() 
onResume() 
4.新Activity全部覆蓋,back退出新Activity: 
A1 oncreate() 
A1 onstart() 
A1 onResume() 
【啓動A2】 
A1 onPause() 
A2 onCreate() 
A2 onStart() 
A2 onResume()
A1 onStop() 
【從A2 Back】 
A2 onPause() 
A1 onActivityResult() 
A1 onRestart() 
A1 onStart() 
A1 onResume() 
A2 onStop() 
A2 onDestroy() 
【從A1 Back】 
A1 onPause() 
A1 onStop() 
A1 onDestroy() 
5.新Activity部分覆蓋,back退出新Activity 
A1 onCreate() 
A1 onStart() 
A1 onResume() 
【啓動A2】 
A1 onPause() 
A2 onCreate() 
A2 onStart() 
A2 onResume() 
【從A2Back】 
A2 onPause() 
A1 onActivityResult() 
A1 onResume() 
A2 onStop() 
A2 onDestroy() 
6.普通Dialog部分覆蓋: 
同AlertDialog 
7.AlertDialog部分覆蓋: 
onCreate() 
onStart() 
onResume() 
【顯示AlertDialog】 
【關閉AlertDilaog】 
在AlertDialog出現以及消失的過程中,沒有觸發任何onXXX事件。 
8.來電覆蓋: 
等同新Activity全覆蓋 
9.桌面控件intent啓動: 
9.1.目標Activity未啓動: 
等同桌面圖標直接啓動,會直接啓動一個新Activity。 
9.2.目標Activity已經啓動並且在最上層 
如果目標Activity是由桌面控件觸發的,那麼等同情況3,不會創建新Activity。 
如果目標Activity是由Launcher圖標啓動的,那麼會不停的創建新Activity。 
9.3.目標Activity已經啓動但是不在最上層 
如果目標Activity是由桌面控件啓動的,那麼不會創建新Activity,但也不會把目標Activity提到最上層。 
如果目標Activity是由Launcher圖標啓動的,那麼會不停的創建新Activity。 
發佈了30 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章