Activity生命周期:
Activity生命周期圖
- onStart()方法中Activity的界面可見,但是不能夠和用戶進(jìn)行交互
- onResume()方法中Activity的界面可見,而且能夠與用戶進(jìn)行交互
- onPause()界面可見校镐,但是不能夠與用戶進(jìn)行交互
- onStop()在離開界面的時(shí)候調(diào)用的方法剩愧,例如按Home鍵回手機(jī)Home界面會(huì)調(diào)用
- onRestart()在用戶離開界面沒有將Activity進(jìn)行銷毀的時(shí)候冬筒,用戶再次進(jìn)入這個(gè)頁面的時(shí)候會(huì)調(diào)用onRestart()瞪慧,然后onStart()->onResume()
6.onDestroy()方法髓考,調(diào)用了finish()方法,或者用戶強(qiáng)制殺死app汞贸,那么會(huì)調(diào)用onDestroy()方法
特殊情況
- 橫豎屏切換
在進(jìn)行橫豎屏切換的時(shí)候
Activity顯示
橫豎屏切換之后
- 從中可以看出沒有經(jīng)過特殊的設(shè)置绳军,那么會(huì)先進(jìn)行Activity的銷毀,然后進(jìn)行重建矢腻,會(huì)調(diào)用onSaveInstanceState方法
-
自行處理橫豎屏切換
設(shè)置configChanges
設(shè)置了這個(gè)之后门驾,當(dāng)橫豎屏切換的時(shí)候會(huì)調(diào)用onConfigurationChanged,不會(huì)調(diào)用Activity的其它生命周期函數(shù)多柑。
自己處理橫豎屏切換
當(dāng)接聽電話的時(shí)候會(huì)調(diào)用onPause()方法奶是,當(dāng)電話掛掉的時(shí)候會(huì)調(diào)用onResume()方法
-
Activity數(shù)據(jù)保存
image.png
可以在onSaveInstanceState()中保存Activity的狀態(tài),但是不能夠保存持久性數(shù)據(jù)竣灌,如果要持久性數(shù)據(jù)聂沙,那么在onPause()方法中保存,onSaveInstanceState()在某些情況下不會(huì)調(diào)用初嘹,例如用戶點(diǎn)擊物理返回按鈕