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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Page Ability生命周期内容介绍!

發(fā)布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Page Ability生命周期内容介绍! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天我們就來給大家介紹一下Page Ability生命周期相關(guān)內(nèi)容,同學(xué)們記得帶好小本本。

Page Ability生命周期

系統(tǒng)管理或用戶操作等行為均會引起Page實例在其生命周期的不同狀態(tài)之間進行轉(zhuǎn)換。Ability類提供的回調(diào)機制能夠讓Page及時感知外界變化,從而正確地應(yīng)對狀態(tài)變化(比如釋放資源),這有助于提升應(yīng)用的性能和穩(wěn)健性。

Page生命周期回調(diào)

Page生命周期的不同狀態(tài)轉(zhuǎn)換及其對應(yīng)的回調(diào),如圖所示

Page生命周期和狀態(tài)會經(jīng)歷以下這些過程:

onStart()初始化(INITIAL):當系統(tǒng)首次創(chuàng)建Page實例時,觸發(fā)該回調(diào),對于一個Page實例,該回調(diào)在其生命周期過程中僅僅觸發(fā)一次,Page在該邏輯后進入INACTIVE(不活動的)狀態(tài),開發(fā)者必須要重寫該方法,并在此配置默認展示的AbilitySlice

onActive():Page會在進入INACTIVE狀態(tài)后來到前臺,然后系統(tǒng)調(diào)用此回調(diào)。Page在此之后進入ACTIVE狀態(tài),該狀態(tài)是應(yīng)用與用戶交互的狀態(tài)。Page將保持在此狀態(tài),除非某類事件發(fā)生導(dǎo)致Page失去焦點,比如用戶點擊返回鍵或?qū)Ш降狡渌鸓age。當此類事件發(fā)生時,會觸發(fā)Page回到INACTIVE狀態(tài),系統(tǒng)將調(diào)用onInactive()回調(diào)。此后,Page可能重新回到ACTIVE狀態(tài),系統(tǒng)將再次調(diào)用onActive()回調(diào)。因此,開發(fā)者通常需要成對實現(xiàn)onActive()和onInactive(),并在onActive()中獲取在onInactive()中被釋放的資源。

onInactive():當Page失去焦點時,系統(tǒng)將調(diào)用此回調(diào),此后Page進入INACTIVE狀態(tài)。開發(fā)者可以在此回調(diào)中實現(xiàn)Page失去焦點時應(yīng)表現(xiàn)的恰當行為。

onBackground():如果Page不再對用戶可見,系統(tǒng)將調(diào)用此回調(diào)通知開發(fā)者用戶進行相應(yīng)的資源釋放,此后Page進入BACKGROUND狀態(tài)。開發(fā)者應(yīng)該在此回調(diào)中釋放Page不可見時無用的資源,或在此回調(diào)中執(zhí)行較為耗時的狀態(tài)保存操作。

onForeground():處于BACKGROUND狀態(tài)的Page仍然駐留在內(nèi)存中,當重新回到前臺時(比如用戶重新導(dǎo)航到此Page),系統(tǒng)將先調(diào)用onForeground()回調(diào)通知開發(fā)者,而后Page的生命周期狀態(tài)回到INACTIVE狀態(tài)。開發(fā)者應(yīng)當在此回調(diào)中重新申請在onBackground()中釋放的資源,最后Page的生命周期狀態(tài)進一步回到ACTIVE狀態(tài),系統(tǒng)將通過onActive()回調(diào)通知開發(fā)者用戶。

onStop():系統(tǒng)將要銷毀Page時,將會觸發(fā)此回調(diào)函數(shù),通知用戶進行系統(tǒng)資源的釋放。銷毀Page的可能原因包括以下幾個方面:用戶通過系統(tǒng)管理能力關(guān)閉指定Page,例如使用任務(wù)管理器關(guān)閉Page。用戶行為觸發(fā)Page的terminateAbility()方法調(diào)用,例如使用應(yīng)用的退出功能。配置變更導(dǎo)致系統(tǒng)暫時銷毀Page并重建。系統(tǒng)出于資源管理目的,自動觸發(fā)對處于BACKGROUND狀態(tài)Page的銷毀。

如何測試Page Ability的生命周期呢?主要是看Page Ability和AbilitySlice之間的生命周期狀態(tài)是如何切換的。我們用以下代碼來測試一下。

MainAbility代碼:

MainAbilitySlice代碼:

以上就是這一期的鴻蒙開發(fā)教程了,下一期我們繼續(xù)介紹一下AbilitySlice之間的回傳值,感興趣的同學(xué)記得關(guān)注一下。

本文來自千鋒教育,轉(zhuǎn)載請注明出處。

總結(jié)

以上是生活随笔為你收集整理的Page Ability生命周期内容介绍!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。