天天看點

android Activity生命周期和啟動模式詳解

 自學一段時間的android,來一個Activity的自我總結

1  Activity 四種加載模式

 a. standard:标準模式,預設模式

 b. singleTop: task頂單例模式

 c. singleTask:task内單例模式

 d. singleInstance:全局單例模式 

2 Activity的加載模式來控制、管理activity與task棧的關系。

 a. standard模式,是建立activity添加到棧頂,可以不斷的建立

 b. singleTop是建立Activity在棧頂,如果需要加載的Activity已經在棧頂,那它就會複用原來的Activity并不會不斷的建立

 c. singleTask在singleTop 的基礎上添加了一個功能,即:啟動目标Activity沒有在棧頂,但是已經存在該棧中,那就會将該Activity之上的所有Activity移除,使其目标在棧頂。

 d. singleInstance 它會建立棧或者變相的建立棧:目标activity不存在 建立 棧 加入棧頂;目标存在,會移除目标所在棧的所有activity進而使目标在棧頂。

    standard、singleTop、singleTask加載模式層層遞進,singleInstance特點會建立棧。

3  Activity的生命周期 活動狀态、暫停狀态、停止狀态、銷毀狀态存在的方法onCreate()、onStart()、 onResume()、onPause()、onDestroy()。

  不同Activity切換是Activity生命周期變化:

      一個Activity的啟動順序:

        onCreate()——>onStart()——>onResume()

      此時,另一個Activity啟動時:

        第一個Actvity onPause()——>第二個Activity onCreate()——> onStart()——>onResume()——>第一個Activity onStop()

      當,傳回第一個Activity時:

         第二個Activity onPause()——>第一個Activity onRestart()——>onStart()——>onResume()——>第二個Activity onStop()——>onDestroy()

繼續閱讀