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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

简述activity的生命周期(activity生命周期)

發布時間:2023/12/19 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 简述activity的生命周期(activity生命周期) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

推薦教程:Android教程

本文簡單介紹Activity生命周期,內容主要來自于官方文檔。

在簡述各個生命周期方法前,先總體做一下概述。我們可以從三個層面來監視Activity生命周期

完整生命周期:完整生命周期始于onCreate方法回調,止于onDestroy方法回調
可見周期:可見周期始于onStart方法回調,止于onStop方法回調
前臺周期:前臺周期始于onResume方法回調,止于onPause方法回調

下面簡單介紹一下各個生命周期方法:

onCreate 生命周期的第一個方法,表示Activity正在創建(啟動)。特別說明:若您在該方法內調用finish方法,則會立即出發onDestroy回調,其他生命周期不會執行

onRestart 該方法觸發的前提:onStop方法被調用。onStop方法被調用而導致的Activity不可見到Activity再次可見時被調用。該方法回調之后系統會相繼觸發onStart和onResume方法。

onStart Activity可見時調用(此時Activity尚未處于前臺):在onCreate方法之后或由onStop方法被調用而導致的Activity不可見到Activity再次可見時被調用

onResume 該方法的回調標識Activity處于前臺。官方文檔指明,這里比較適合動畫啟動及排他性設備訪問(如相機)等

onPause Activity即將進入后臺時回調此方法。需要特別注意的是,若Activity A啟動Activity B,則Activity A的onPause方法回調完成后,Activity B才會創建,因此不要在該回調方法中做耗時操作。

onStop Activity由可見到不可見時回調此方法

onDestroy 生命周期的最后一個方法,表示Activity即將被銷毀。官方文檔指明,在某些情況下,系統會簡單粗暴的殺掉Activity的宿主進程(如下文示意圖中的標注1),因此我們不應該依賴此方法做數據存儲工作,可在此方法中做資源釋放操作

下圖為官方文檔給出的示意圖

Activity生命周期示意圖

此圖很清晰嚴謹,但是官方文檔對各個生命周期回調方法的描述并不是很詳細,因此如果不認真研讀文檔,很難明白圖中的生命周期方法的走向,并可能對某些方法產生誤解。例如對于onStop方法,可能會有部分童鞋對其有誤解,誤認為Activity進入后臺時回調該方法,其實進入后臺時回調的是onPause方法,不可見時回調onStop方法;也有童鞋誤以為onResume方法回調意味著可以進行交互,其實我們應該以public void onWindowFocusChanged (boolean hasFocus)回調中的hasFocus參數為依據來判定是否可以進行交互。

Activity可見與否與其是否處于前臺是兩回事,onStart 與 onStop 配對描述Activity是否可見;onPause 與
onResume 配對描述Activity是否處于前臺。Activity可見并不意味著可以交互,同樣的其處于前臺也未必可以交互。直接的例子是,若Activity展示了Dialog,此時Activity仍處于前臺,但我們卻不能與Activity交互

另外,對于上述示意圖中的標注2走向,我相信很多人并沒有親自驗證過,因為通常你很難通過交互來復現這一場景。對于這種場景,我們可以通過代碼控制來模擬:Activity A啟動Activity B,在Activity B的onCreate方法中直接調用finish方法

以上就是簡述activity的生命周期的詳細內容,更多請關注風君子博客其它相關文章!

總結

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

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