今天宿舍一個哥們出去面試遇到了這個面試題:"在activity oncreate()調用finish()"生命周期是怎麼樣的?
我趕緊寫了些demo,發現确實很有趣:
接下來看在生命周期不同回調裡面finish()調用後的日志:
1,oncreate():經曆onStart(),onResume(),onPause(),onStop()方法

2,onstart()經曆onResume(),onPause()方法
3,onresume() 經曆onStart(),onResume(),onPause(),onStop()方法
4,onpause()
5,onstop()結果同上
6,onDestory()結果同上
那麼問什麼是這個樣子的呢?(2016年4月24日00:01:37更新)
如下是github上面對于這個問題的探讨:
https://github.com/android-cn/android-discuss/issues/430
執行完 onCreate()後,判斷這時 activity 有沒有finish ,沒有就會接着執行 onStart(),否則會調用 destory()
執行完 onStart()後會執行 handleResumeActivity 函數,其中performResumeActivity 函數中:
會調用 onResume 如果此時finish,就不會執行finish(),會調用ActivityManagerNative.getDefault()
.finishActivity(token, Activity.RESULT_CANCELED, null);執行銷毀