91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

【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

婺源县| 合肥市| 丹巴县| 汝州市| 西充县| 乐清市| 鄂托克旗| 隆安县| 合肥市| 咸阳市| 呼伦贝尔市| 临颍县| 绥阳县| 兴国县| 定西市| 莎车县| 卢湾区| 义乌市| 咸丰县| 新泰市| 清丰县| 万山特区| 清苑县| 阿巴嘎旗| 吴江市| 灵丘县| 岢岚县| 景洪市| 明水县| 松阳县| 潞城市| 峨眉山市| 宜城市| 股票| 江津市| 庆元县| 托克逊县| 永顺县| 曲周县| 新乡县| 青海省|