1. 程式人生 > >安卓-活動的生命周期

安卓-活動的生命周期

reat stop 對話框 現在 進行 class 資源釋放 被調用 事件

返回棧

技術分享圖片

活動狀態---四種 活動 狀態

  • 運行狀態 就是應用呈現到我們面前的主界面所對應的狀態;
  • 暫停狀態 暫停狀態相對來說和第三種的停止狀態有些類似,不過暫停狀態是一種還可以看到部分界面的活動狀態,例如:發送消息時間調用的打字鍵盤。。相對來說停止狀態就是完全不能夠被我們看到;
  • 停止狀態 這種狀態一般只有在被調用的時間才會重新回到棧頂,出現在我們的視野中;
  • 銷毀狀態 系統最優先回收銷毀狀態的活動所占用的內存;

  四種狀態的被系統回收內存的可能性 銷毀狀態 > 停止狀態 > 暫停狀態 > 運行狀態 其中運行狀態 和 暫停狀態被回收的可能性非常的小;

活動的生存期 ---- 七個方法中除了 onRestart()方法,其他都是兩兩相對的,從而又可以將活動分為三種生存期。

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

2. onStart() :這個方法在活動由不可見變為可見的時候調用。

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

4. onPause() :這個方法在系統準備去啟動或者恢復另一個活動的時候調用。我們通常會在這個方法中將一些消耗 CPU的資源釋放掉,以及保存一些關鍵數據,但這個方法的執行速度 一定要快,不然會影響到新的棧頂活動的使用。

5. onStop() :這個方法在活動完全不可見的時候調用。它和 onPause()方法的主要區別在於,如果啟動的新活動是一個對話框式的活動,那麽 onPause()方法會得到執行,而 onStop() 方法並不會執行。

6.onDestroy() 這個方法在活動被銷毀之前調用,之後活動的狀態將變為銷毀狀態。

7. onRestart() 這個方法在活動由停止狀態變為運行狀態之前調用,也就是活動被重新啟動了。

三種生存周期 ----- 完整生存周期 可見生存周期 前臺生存周期

技術分享圖片

  1. 完整生存期

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

  2. 可見生存期

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

  3. 前臺生存期

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

安卓-活動的生命周期