基於Android8.0,本文僅記錄不同生命週期中調用finish,Activity的生命週期執行順序。
Demo應用包含兩個Activity:ActivityA和ActivityB,如下流程是在ActivityB的不同生命週期中調用finish函數。
目錄
8.onSaveInstanceState中調用finish
1.onCreate中調用finish
- 啓動ActivityA:
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB:
- ActivityA.onPause
- ActivityB.onCreate
- ActivityA.onResume
- ActivityB.onDestroy
2.onStart中調用finish
- 啓動ActivityA:
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB:
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityA.onResume
- ActivityB.onStop
- ActivityB.onDestroy
3.onResume中調用finish
- 啓動ActivityA
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityB.onPause
- ActivityA.onResume
- ActivityB.onStop
- ActivityB.onDestroy
4. onPause中調用finish
- 啓動Activity
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityA.onSaveInstanceState
- ActivityA.onStop
- 點擊Home鍵
- ActivityB.onPause
- ActivityB.onStop
- ActivityB.onDestroy
5. onStop中調用finish
- 啓動Activity
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityA.onSaveInstanceState
- ActivityA.onStop
- 點擊Home鍵
- ActivityB.onPause
- ActivityB.onSaveInstanceState
- ActivityB.onStop
- ActivityB.onDestroy
6. onDestroy中調用finish
- 啓動ActivityA
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- ActivityA中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityA.onSaveInstanceState
- ActivityA.onStop
- 點擊Home鍵
- ActivityB.onPause
- ActivityB.onSaveInstanceState
- ActivityB.onStop
- 重新進入ActivityB
- ActivityB.onRestart
- ActivityB.onStart
- ActivityB.onResume
- 點擊Back鍵
- ActivityB.onPause
- ActivityA.onRestart
- ActivityA.onStart
- ActivityA.onResume
- ActivityB.onStop
- ActivityB.onDestroy
7.onRestart中調用finish
- 啓動ActivityA
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- A中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityA.onSaveInstanceState
- ActivityA.onStop
- 點擊home鍵
- ActivityB.onPause
- ActivityB.onSaveInstanceState
- ActivityB.onStop
- 重新進入B
- ActivityB.onRestart
- ActivityB.onStart
- ActivityB.onResume
- ActivityB.onPause
- ActivityA.onRestart
- ActivityA.onStart
- ActivityA.onResume
- ActivityB.onStop
- ActivityB.onDestroy
8.onSaveInstanceState中調用finish
- 啓動ActivityA
- ActivityA.onCreate
- ActivityA.onStart
- ActivityA.onResume
- A中啓動ActivityB
- ActivityA.onPause
- ActivityB.onCreate
- ActivityB.onStart
- ActivityB.onResume
- ActivityA.onSaveInstanceState
- ActivityA.onStop
- 點擊home鍵
- ActivityB.onPause
- ActivityB.onSaveInstanceState
- ActivityB.onStop
- ActivityB.onDestroy
- 重新進入應用
- ActivityA.onRestart
- ActivityA.onStart
- ActivityA.onResume