Activity生命週期深入理解2
今天又仔細的瞭解了一下activity的生命週期,主要任務是辨別在使用者按下返回鍵和使用intent進行跳轉的時候所執行的動作。
我們的實驗過程是這樣的。新建兩個activity,分別是activity1,activty2,上面分別有一個button,執行從1跳轉到2,以及從2跳轉到1的過程。實驗過程是:從activity1跳到2,再從2跳到1,然後按下返回鍵,再按下返回鍵,再按下返回鍵。
那麼這樣的過程主要分為五個階段。
我們都知道,當執行跳轉的時候,實際上是new 了一個目標activity的一個物件,然後將其壓入了棧中。我們都知道處在棧的最上面的activity將會處於resume狀態,可見,可與使用者進行互動。按下返回鍵就是從棧中彈出最頂層的activity,並且將其destroy掉。那麼這五個過程分別是:
第一個過程
1的oncreate,1的onStart,1的onResume
那麼這三個過程不用說了,很簡單
第二個過程,為向2跳轉的過程
先是1的onPause,這樣1不能再和使用者互動了,然後開始準備2,先是2的oncreate方法,然後入棧,然後onStart,然後onResume,這個時候2準備好了,然後1便可以onStop,這便是第二個過程
第三個過程,向1跳轉的過程
和過程2一樣,但是這時候要注意,在activity的棧中現在有三個activity,從下到上分別為舊的activity1,然後是2,然後是新的activity1,新的處於resume狀態。
第四個過程,按下返回鍵
這時候是從棧中彈出元素的過程,但是在徹底彈出之前得準備好將要啟用的activity。過程如下:
1的onPause,然後是2的onRestart方法,然後是2的onStart方法,注意由於是在棧中儲存的所以不會再create,然後是onResume方法,然後是onStop方法,最後徹底彈出,onDestroy方法
第五個過程,按下返回鍵
和第四個過程一樣
當到達棧底的時候,彈出操作就無效了,比如home那個介面,你再按下返回鍵的時候是不會進行跳轉的。
相關文章
- 深入學習Activity生命週期
- Activity生命週期
- Activity生命週期onDestroy
- View生命週期與Activity生命週期的關係View
- Android Activity生命週期Android
- Activity生命週期總結
- 深入理解 React 元件的生命週期React元件
- Activity 知識梳理(1) Activity生命週期
- 框架層理解Activity生命週期(APP啟動過程)框架APP
- [Android]Activity的生命週期Android
- activity的生命週期(總結)
- View和Activity的生命週期View
- Activity簡介及生命週期
- 深入原始碼理解SpringBean生命週期原始碼SpringBean
- vue 生命週期深入Vue
- 理解VUE生命週期Vue
- Activity生命週期與啟動模式模式
- Android 元件系列-----Activity生命週期Android元件
- Android Activity生命週期詳解Android
- 關於activity的生命週期1
- activity生命週期的onPause和onStop
- Vue生命週期的理解Vue
- Activity橫豎屏切換生命週期
- Android全面解析之Activity生命週期Android
- 喜聞樂見之Activity生命週期
- Activity的生命週期和啟動模式模式
- 深入淺出 Gin 生命週期
- Android四大元件——Activity——Activity的生命週期Android元件
- Activity 生命週期,如何一手掌控
- Android Activity生命週期的一點感悟Android
- Activity生命週期與啟動模式筆記模式筆記
- 多Activity切換的生命週期問題
- Android 之 Activity 生命週期淺析(一)Android
- 初識Android之Activity的生命週期Android
- Vue的生命週期的理解Vue
- 理解React-元件生命週期React元件
- 理解React元件的生命週期React元件
- Activity A 跳轉到 Activity B,生命週期的執行過程