標籤:對話方塊 生命週期 重寫 恢複 png 不可 inf 完成 src
返回棧
活動狀態---四種 活動 狀態
- 運行狀態 就是應用呈現到我們面前的主介面所對應的狀態;
- 暫停狀態 暫停狀態相對來說和第三種的停止狀態有些類似,不過暫停狀態是一種還可以看到部分介面的活動狀態,例如:發送訊息時間調用的打字鍵盤。。相對來說停止狀態就是完全不能夠被我們看到;
- 停止狀態 這種狀態一般只有在被調用的時間才會重新回到棧頂,出現在我們的視野中;
- 銷毀狀態 系統最優先回收銷毀狀態的活動所佔用的記憶體;
四種狀態的被系統回收記憶體的可能性 銷毀狀態 > 停止狀態 > 暫停狀態 > 運行狀態 其中運行狀態 和 暫停狀態被回收的可能性非常的小;
活動的生存期 ---- 七個方法中除了 onRestart()方法,其他都是兩兩相對的,從而又可以將活動分為三種生存期。
1. onCreate() :這個方法你已經看到過很多次了,每個活動中我們都重寫了這個方法,它會在活動第一次被建立的時候調用。你應該在這個方法中完成活動的初始化操作,比如說載入布 局、綁定事件等。
2. onStart() :這個方法在活動由不可見變為可見的時候調用。
3. onResume() :這個方法在活動準備好和使用者進行互動的時候調用。此時的活動一定位於返回棧的棧頂,並且處於運行狀態。
4. onPause() :這個方法在系統準備去啟動或者恢複另一個活動的時候調用。我們通常會在這個方法中將一些消耗 CPU的資源釋放掉,以及儲存一些關鍵資料,但這個方法的執行速度 一定要快,不然會影響到新的棧頂活動的使用。
5. onStop() :這個方法在活動完全不可見的時候調用。它和 onPause()方法的主要區別在於,如果啟動的新活動是一個對話方塊式的活動,那麼 onPause()方法會得到執行,而 onStop() 方法並不會執行。
6.onDestroy() 這個方法在活動被銷毀之前調用,之後活動的狀態將變為銷毀狀態。
7. onRestart() 這個方法在活動由停止狀態變為運行狀態之前調用,也就是活動被重新啟動了。
三種生存周期 ----- 完整生存周期 可見生存周期 前台生存周期
- 完整生存期
活動在 onCreate()方法和 onDestroy()方法之間所經曆的,就是完整生存期。一般情
況下,一個活動會在 onCreate()方法中完成各種初始化操作,而在 onDestroy()方法中完 成釋放記憶體的操作。
- 可見生存期
活動在 onStart()方法和 onStop()方法之間所經曆的,就是可見生存期。在可見生存
期內,活動對於使用者總是可見的,即便有可能無法和使用者進行互動。我們可以通過這兩 個方法,合理地管理那些對使用者可見的資源。比如在 onStart()方法中對資源進行載入, 而在onStop()方法中對資源進行釋放,從而保證處於停止狀態的活動不會佔用過多記憶體。
- 前台生存期
活動在 onResume()方法和 onPause()方法之間所經曆的,就是前台生存期。在前台
生存期內,活動總是處於運行狀態的,此時的活動是可以和使用者進行相互的,我們平時 看到和接觸最多的也這個狀態下的活動。
安卓-活動的生命週期