一、正常情況下一個Activity會經歷以下7個生命周期
1:onCreate:當Activity第一次被運行時呼叫此方法,可用于加載布局視圖,獲取控制元件命名空間等一些初始化作業,
2: onRestart:當Activity被重新啟動的時候,呼叫此方法
3: onStart :表示Activity正在被啟動,已經從不可見到可見狀態(不是指用戶可見,指Activity在后臺運行,沒有出現在前臺),但還是無法與用戶進行互動,
4: onResume :表Activity已經變為可見狀態了,并且出現在前臺作業了,也就是指用戶可見了
5: onPause :表示Activity正在暫停,但Activity依然可見,可以執行一些輕量級操作,但一般不會進行太多操作,因為這樣會影響用戶體驗,
6: onStop :表示Activity即將暫停,此時Activity作業在后臺,已經不可見了,可以與onPause方法一樣做一些輕量級操作,但依然不能太耗時,
7: onDestroy :表示活動即將被銷毀,
這張圖片充分體現了一個Activity全部的生命周期

onStart與onResume,onPause與onStop之間的差距
前者呢是關于Activity是否可見,后者呢是關于Activity是否位于前臺
在實際運用當中并沒有太大區別,具體詳細請參考官方手冊
二、例外情況下Activity的生命周期
例外情況常見的大概分為兩種
1:系統配置發生改變:這一種情況,最常見的就是螢屏發生旋轉,導致Activity被殺死而重新創建,下面這一張圖片能夠充分體現,
當發生這一例外時,先呼叫onPause,然后呼叫onSaveInstanceState()方法保存資料,然后重新創建Activity,然后呼叫onRestoreInstanceState()把之前Activity的資料恢復.

2:資源記憶體不夠:這一種情況的資料保存與恢復和前面一樣,但殺死Activity的優先級分為以下三種:
1:Activity處于前臺——用戶可見并且能進行互動,優先級最高
2:Activity處于非前臺——Activity可見但用戶無法進行互動()
3:Activity處于后臺——不可見也無法與用戶進行互動,比如執行了onStop(),優先級最低,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/262073.html
標籤:其他
下一篇:實作聯系人功能,右側A~Z滑動
