activity 的聲明週期

Activity類中定義了七個回調方法,覆蓋了活動生命週期的每一個環節,下面介紹下這七個方法。
1. onCreate()

這個方法你已經看到過很多次了,每個活動中我們都重寫了這個方法,它會在活動第一次被創建的時候調用。你應該在這個方法中完成活動的初始化操作,比如說加載佈局、綁定事件等。
2. onStart()

這個方法在活動由不可見變爲可見的時候調用。
3. onResume()

這個方法在活動準備好和用戶進行交互的時候調用。此時的活動一定位於返回棧的棧頂,並且處於運行狀態。
4. onPause()

這個方法在系統準備去啓動或者恢復另一個活動的時候調用。我們通常會在這個方法中將一些消耗CPU的資源釋放掉,以及保存一些關鍵數據,但這個方法的執行速度一定要快,不然會影響到新的棧頂活動的使用。
5. onStop() 這個方法在活動完全不可見的時候調用。它和onPause()方法的主要區別在於,如果啓動的新活動是一個對話框式的活動,那麼onPause()方法會得到執行,而onStop()方法並不會執行。
6. onDestroy()

這個方法在活動被銷燬之前調用,之後活動的狀態將變爲銷燬狀態。
7. onRestart()

這個方法在活動由停止狀態變爲運行狀態之前調用,也就是活動被重新啓動了。
以上七個方法中除了onRestart()方法,其他都是兩兩相對的,從而又可以將活動分爲三種生存期。
1. 完整生存期

活動在onCreate()方法和onDestroy()方法之間所經歷的,就是完整生存期。一般情況下,一個活動會在onCreate()方法中完成各種初始化操作,而在onDestroy()方法中完成釋放內存的操作。
2. 可見生存期

活動在onStart()方法和onStop()方法之間所經歷的,就是可見生存期。在可見生存期內,活動對於用戶總是可見的,即便有可能無法和用戶進行交互。我們可以通過這兩個方法,合理地管理那些對用戶可見的資源。比如在onStart()方法中對資源進行加載,而在onStop()方法中對資源進行釋放,從而保證處於停止狀態的活動不會佔用過多內存。
3. 前臺生存期 !

活動在onResume()方法和onPause()方法之間所經歷的,就是前臺生存期。在前臺生存期內,活動總是處於運行狀態的,此時的活動是可以和用戶進行相互的,我們平時看到和接觸最多的也這個狀態下的活動。
生命週期如下:
這裏寫圖片描述

發佈了8 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章