Android學習之Activity生命週期

 看一個圖先:

這是官網的Activity生命週期結構圖,從這個圖中可以看出Activity的生命週期函數挺多的,其實他的生命週期和以往我們看到的其他組件的生命週期一樣,都是從創建到銷燬的過程,只不過之間多加了幾個生命週期函數,將他的生命週期細化了。

首先看到的事onCreate()函數,顧名思義這個函數在Activity開始創建時調用,可以在其中定義一些初始化操作。接下來是onStart()方法,這個方法在Activity開始被執行時調用,它緊隨onCreate()方法之後調用,接着是onResume()方法,這個方法對我們來說算是比較陌生的,這個方法是在該Activity或得用戶輸入焦點時被調用,這個或得用戶輸入焦點有點不好理解,如果我們用過Android手機或者其他系統的手機時,經常會看到有些窗口雖然能看到但無法對他進行操作,這時的Activity就沒有或得用戶焦點。當這個方法調用後Activity開始真正的運行了,在Activity正在運行時用戶激活了另一個Activity,這時將調用第一個Activity的onPause()方法,可以理解爲第一個Activity被暫停了,這個時候如果系統的內存不夠用(手機內存不夠用的情況經常發生),第一個Activity的進程可能被殺死(何時被殺死是由系統決定的,不需要我們參入),當下次我們再運行第一個Activity時就需要重新創建這個Activity,那就又需要調用onCreate()方法。如果在這個Activity沒有被殺死的情況下,我們重新調用第一個Activity,就會直接調用它的onResume()方法後開始運行。如果第一個Activity很久都沒有得到再次運行機會,就會調用onStop()被停止,這時如果Activity又或得用戶輸入焦點,就會調用onRestart()方法,重新開始執行這個Activity,或者被系統殺死,否則調用onDestroy()方法銷燬Activity。這整個過程看起來有點繞,其實在實際開發中我們很少會用到所有的生命週期函數,但我們要弄清它的原理,在使用時知道所以然就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章