中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

發布時間:2020-07-23 21:44:23 來源:網絡 閱讀:962 作者:kinbos 欄目:移動開發

【本博客內的文章是本人的學習筆記總結,如有錯誤請各位批評指正,謝謝!歡迎加入群285077071討論】

關于Activity的生命周期的學習,我將從以下幾個方面入手來全面認識:

一、什么是生命周期?

二、Activity生命周期的官方定義

三、Activity生命周期流程圖的理解

四、通過代碼來切身體驗每一個周期函數的執行時機

接下來,讓我們開始進入正題吧。


一、什么是生命周期?

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

生命周期,通俗來講就是從生到死這一期間一系列的狀態。大家可能在其他語言中早已經聽說了這一概念,比如C語言中變量的生命周期,iOS開發中UIView的生命周期等。生命周期這個概念在不同的領域當中大體講的差不多,只是劃分的狀態可能不同,有的劃分粒度大一些,有的劃分粒度要細一些。本文要講的生命周期從宏觀上來講就是上圖上所列舉的那樣:創建——>將要可見——>可見——>將要不可見——>銷毀。


二、Activity生命周期的官方定義

Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity -- the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits.

官方意思大體是這樣Activity在系統中是通過Activity棧來進行管理的,當一個新的Activity被打開時,這個新的Activity就被放到棧的頂部并且保持運行狀態,但在其之前的那個Activity總是保留在這個新Activity的下面,并且只有當這個新的Activity退出時原來的那個Activity才會重新回到前臺。

三、Activity生命周期流程圖的理解

讓我們一起來看一下官方的這個生命流程圖:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

該圖引用自:http://developer.android.com/reference/android/app/Activity.html

為方便說明,在此我作了一點點的改動,其實也就是把注釋說明換成中文而已了,哈哈。

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

Activity的生命周期函數的執行時機都已經在圖中作了簡要說明,在此就不在贅述。


四、通過代碼來切身體驗每一個周期函數的執行時機

1、當我們啟動應用程序時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

2、當我們按下power鍵鎖屏時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

3、當我們再次解鎖回到界面時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

4、當我們點擊按鈕打開一個新的Activity時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

5、當新打開的Activity退出時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

6、當Activity退出時,生命周期函數執行順序如下:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

7、最后一點,我們來驗證下網上諸多網友博文中所說的:“當彈出Dialog時會執行onPause()函數”這一說法,這一說法正確嗎?

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

當Dialog彈出后我們來查看下輸出日志信息:

【Android學習總結】之Activity:深入理解、體驗Activity的生命周期

從輸出日志我們可以發現,在彈出Dialog時根本沒有執行onPause()函數,依然保持著可見狀態。所以,網絡上關于“當彈出Dialog時會執行onPause()函數”這一說法是錯誤的!


關于Activity生命周期的學習總結,到此就告一段落了!歡迎各位批評指正!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双桥区| 江川县| 佛教| 新田县| 姚安县| 木兰县| 卓资县| 平昌县| 修文县| 陈巴尔虎旗| 马龙县| 钟祥市| 大石桥市| 临沭县| 乌兰察布市| 区。| 江陵县| 阳泉市| 惠水县| 柳江县| 隆尧县| 渭源县| 桐柏县| 威信县| 关岭| 仙居县| 于田县| 连州市| 靖州| 游戏| 都兰县| 馆陶县| 建昌县| 久治县| 永宁县| 克拉玛依市| 马公市| 甘谷县| 双峰县| 盖州市| 嘉义市|