在正常情況下,Activity的常用生命周期就只有如下7個
onCreate():表示Activity正在被創(chuàng)建,常用來初始化工作,比如調(diào)用setContentView加載界面布局資源,初始化Activity所需數(shù)據(jù)等;
onRestart():表示Activity正在重新啟動,一般情況下,當前Acitivty從不可見重新變?yōu)榭梢姇r,OnRestart就會被調(diào)用;
onStart():表示Activity正在被啟動,此時Activity可見但不在前臺,還處于后臺,無法與用戶交互;
onResume():表示Activity獲得焦點,此時Activity可見且在前臺并開始活動,這是與onStart的區(qū)別所在;
onPause():表示Activity正在停止,此時可做一些存儲數(shù)據(jù)、停止動畫等工作,但是不能太耗時,因為這會影響到新Activity的顯示,onPause必須先執(zhí)行完,新Activity的onResume才會執(zhí)行;
onStop():表示Activity即將停止,可以做一些稍微重量級的回收工作,比如注銷廣播接收器、關(guān)閉網(wǎng)絡(luò)連接等,同樣不能太耗時;
onDestroy():表示Activity即將被銷毀,這是Activity生命周期中的最后一個回調(diào),常做回收工作、資源釋放;
延伸:從整個生命周期來看,onCreate和onDestroy是配對的,分別標識著Activity的創(chuàng)建和銷毀,并且只可能有一次調(diào)用;從Activity是否可見來說,onStart和onStop是配對的,這兩個方法可能被調(diào)用多次;從Activity是否在前臺來說,onResume和onPause是配對的,這兩個方法可能被調(diào)用多次;除了這種區(qū)別,在實際使用中沒有其他明顯區(qū)別;