基本的生命周期,
--onCreate()(Activity創(chuàng)建時(shí)調(diào)用 )
--onStart()(可見未獲取焦點(diǎn),無(wú)法與之交互 )
--onResume()(可見已獲取焦點(diǎn)娇澎,可與之交互 )
--onPause()(可見窒典,失去焦點(diǎn) )
--onStop()(不可見 )
--onRestart()(Activity重啟)
--onDestroy()(Activity銷毀)
--onSaceInstanceState可能會(huì)被回收的時(shí)候調(diào)用,與上面的先后順序各個(gè)Android版本不同
--onResotreInstanceState沒(méi)有被回收的話就不會(huì)調(diào)用
--onConfigurationChanged
各種情況下的生命周期
1 home鍵
按下 onPause - onStop
返回 onRestart - onStart - onResume
2 鎖屏
鎖屏 onPause - onStop
解鎖 onRestart - onStart - onResume
home鍵和鎖屏雖然生命周期相同疆导,但是觸發(fā)流程不一樣,home鍵走的正常的home activity(launcher)切換流程养泡,棧頂activity被切換柠座,而鎖屏走的handleSleep流程作箍,這個(gè)時(shí)候棧頂activity還是該activity
3 dialog彈出
普通AlertDialog彈出,不會(huì)發(fā)生activity聲明周期變化合武,因?yàn)閐ialog和activity屬于從屬關(guān)系临梗,使用的同一個(gè)apptoken,因此可交互和可見性都不會(huì)發(fā)生變化眯杏,也就不會(huì)因此生命周期變化
4 透明樣式或者dialog樣式的activity啟動(dòng)
onPause(A) - onCreate(B) - onStart(B) - onResume(B)
注意點(diǎn)在于Activity A不會(huì)執(zhí)行onStop夜焦,因?yàn)槿绻鸄的可見性沒(méi)有變化,也就是沒(méi)有被完成遮擋的話岂贩,這個(gè)時(shí)候只是不在前臺(tái)茫经,不能和用戶交互巷波,所以只會(huì)執(zhí)行onPause,而不會(huì)執(zhí)行onStop方法卸伞。
5 進(jìn)程被殺死
當(dāng)activity所在進(jìn)程被殺死的話抹镊,activity的onStop、onDestroy不會(huì)被執(zhí)行荤傲,新的activity啟動(dòng)的時(shí)候垮耳,執(zhí)行的是onCreate - - onStart - onRestoreInstanceState - onResume
6 Configuration變化導(dǎo)致activity重啟
onPause - onSaveIntanceState - onStop - onDestroy - onCreate - - onStart - onRestoreInstanceState- onResume
---------------------
作者:xuning2516
來(lái)源:CSDN
原文:https://blog.csdn.net/xuning2516/article/details/79942741
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接遂黍!