亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

【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

米林县| 宜川县| 永寿县| 剑川县| 南昌市| 塘沽区| 嵩明县| 慈溪市| 通海县| 利津县| 尖扎县| 五大连池市| 扎兰屯市| 梓潼县| 司法| 莲花县| 兴业县| 昌江| 星座| 曲阳县| 临城县| 乾安县| 安徽省| 台安县| 凤台县| 松溪县| 二连浩特市| 旌德县| 金乡县| 荔浦县| 河南省| 阳泉市| 拉孜县| 新泰市| 涟水县| 灵武市| 永福县| 太仆寺旗| 广河县| 北碚区| 沧州市|