日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Activity七大生命周期详解

發布時間:2024/1/8 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activity七大生命周期详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,流程圖來一張:

介紹生命周期之前,先提一下任務的概念:
任務其實就是activity 的棧,換句話說任務就是” 應用程序” 。
棧底的是啟動整個任務的Activity,棧頂的是當前運行的用戶可以交互的Activity,當一個activity 啟動另外一個的時候,新的activity 就被壓入棧,并成為當前運行的activity。而前一個activity 仍保持在棧之中。當用戶按下BACK 鍵的時候,當前activity 出棧,而前一個恢復為當前運行的activity。棧中保存的其實是對象,棧中的Activity 永遠不會重排,只會壓入或彈出,所以如果發生了諸如需要多個地圖瀏覽器的情況,就會使得一個任務中出現多個同一Activity 子類的實例同時存在。
Activity棧:先進后出規則
為什么需要生命周期?
Android系統是一個多任務(Multi-Task)的操作系統,可以在用手機聽音樂的同時,也執行其他多個程序。每多執行一個應用程序,就會多耗費一些系統內存,當同時執行的程序過多,或是關閉的程序沒有正確釋放掉內存,系統就會覺得越來越慢,甚至不穩定。
為了解決這個問題, Android 引入了一個新的機制– 生命周期(Life Cycle)。
Android 應用程序的生命周期是由Android 框架進行管理,而不是由應用程序直接控制。

Activity整個生命周期的4種狀態、7個重要方法
四種狀態
1.活動(Active/Running)狀態

當Activity運行在屏幕前臺(處于當前任務活動棧的最上面),此時它獲取了焦點能響應用戶的操作,屬于運行狀態,同一個時刻只會有一個Activity 處于活動(Active)或運行狀態
2. 暫停(Paused)狀態

當Activity失去焦點但仍對用戶可見(如在它之上有另一個透明的Activity或Toast、AlertDialog等彈出窗口時)它處于暫停狀態。暫停的Activity仍然是存活狀態(它保留著所有的狀態和成員信息并保持和窗口管理器的連接),但是當系統內存極小時可以被系統殺掉
3. 停止(Stopped)狀態

完全被另一個Activity遮擋時處于停止狀態,它仍然保留著所有的狀態和成員信息。只是對用戶不可見,當其他地方需要內存時它往往被系統殺掉
4. 非活動(Dead)狀態

Activity 尚未被啟動、已經被手動終止,或已經被系統回收時處于非活動的狀態,要手動終止Activity,可以在程序中調用”finish”方法。

七個重要方法:
onCreate() 第一次創建時執行:做界面初始化的工作:控件的實例化,監聽器的設置(恢復現場)
onStart() 顯示窗口時執行,創建視圖—–可見不可交互
onResume() 可獲取用戶焦點時執行—–可見可交互
onPause() 失去用戶焦點時執行–可見不可交互(跳轉,來電,退出)
OnStop() 窗體不顯示——-不可見不可交互
onDestroy() 銷毀時執行onStop() 關閉窗口時執行
onRestart() 重新顯示窗口時執行

各種情況下生命周期的回調規律
1.打開主界面,后退鍵退出——->全生命周期

  • 打開主界面,切換橫屏豎屏。
    Onpause–onstop–ondestroy oncreate–onstart–onresume

  • 打開主界面,點擊該界面中捆綁退出事件的按鈕后退出
    全生命周期歷程

  • 打開主界面,按鈕進入第二個頁面,再從第二個頁面返回—–》
    Oncreate-onstart-onresum onpause—onstop onrestart—onstart—onresum

  • 5.打開主界面, 電話進入及掛機,再次顯示主界面
    Oncreate-onstart-onresum
    來電:
    Onpause—onstop

    掛機:
    Onrestart—onstart–onresume

    6.打開主界面,HOME鍵退出,再次啟動app
    HOME鍵:
    Onpause—onstop
    再次啟動app
    Onrestart—onstart–onresume

    生命周期的作用:
    ①當用戶接一個電話或切換到另一個程序不會崩潰
    ②當用戶后臺運行程序時不會銷毀有價值的系統資源
    ③當用戶離開再返回你的應用時不會丟失用戶的進程
    ④當手機屏幕進行橫豎屏切換的時候不會崩潰或者丟掉用戶的進程

    拓展:
    protected void onCreate(Bundle savedInstanceState)
    括號的參數的意思就是:現場保護時存入的數據,也就是說突然來電話了,程序中斷,數據不會丟失,數據會回調保存。
    Android保護現場的方法:onSavedInstanceState
    恢復現場的方法:onRestorInstanceState onCreate

    總結

    以上是生活随笔為你收集整理的Activity七大生命周期详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。