国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 鴻蒙系統開發系列教程10-Page Ability生命周期

鴻蒙系統開發系列教程10-Page Ability生命周期

來源:千鋒教育
發布人:小千
時間: 2021-07-22 09:46:00 1626918360

      鴻蒙系統作為華為自主研發的操作系統,一經推出就受到了不少的關注,而小千也為大家經理準備了鴻蒙開發的一系列教程,今天我們就來給大家介紹一下Page Ability生命周期相關內容,同學們記得帶好小本本。

      Page Ability生命周期

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

      Page生命周期回調

      Page生命周期的不同狀態轉換及其對應的回調,如圖所示

千鋒<a href=IT培訓鴻蒙教程1" />

      Page生命周期和狀態會經歷以下這些過程:

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

      onActive():Page會在進入INACTIVE狀態后來到前臺,然后系統調用此回調。Page在此之后進入ACTIVE狀態,該狀態是應用與用戶交互的狀態。Page將保持在此狀態,除非某類事件發生導致Page失去焦點,比如用戶點擊返回鍵或導航到其他Page。當此類事件發生時,會觸發Page回到INACTIVE狀態,系統將調用onInactive()回調。此后,Page可能重新回到ACTIVE狀態,系統將再次調用onActive()回調。因此,開發者通常需要成對實現onActive()和onInactive(),并在onActive()中獲取在onInactive()中被釋放的資源。

      onInactive():當Page失去焦點時,系統將調用此回調,此后Page進入INACTIVE狀態。開發者可以在此回調中實現Page失去焦點時應表現的恰當行為。

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

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

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

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

      MainAbility代碼:

千鋒IT培訓鴻蒙教程2

      MainAbilitySlice代碼:

千鋒IT培訓鴻蒙教程3

      以上就是這一期的鴻蒙開發教程了,下一期我們繼續介紹一下AbilitySlice之間的回傳值,感興趣的同學記得關注一下。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT