PageAbility的生命周期
PageAbility生命周期是PageAbility被調(diào)度到INACTIVE、ACTIVE、BACKGROUND等各個狀態(tài)的統(tǒng)稱。PageAbility生命周期流轉(zhuǎn)及狀態(tài)說明見如下圖1、表1所示。
圖1 PageAbility生命周期流轉(zhuǎn)
表1 PageAbility生命周期狀態(tài)說明
生命周期狀態(tài) | 生命周期狀態(tài)說明 |
---|---|
UNINITIALIZED | 未初始狀態(tài),為臨時狀態(tài),PageAbility被創(chuàng)建后會由UNINITIALIZED狀態(tài)進入INITIAL狀態(tài)。 |
INITIAL | 初始化狀態(tài),也表示停止狀態(tài),表示當前PageAbility未運行,PageAbility被啟動后由INITIAL態(tài)進入INACTIVE狀態(tài)。 |
INACTIVE | 失去焦點狀態(tài),表示當前窗口已顯示但是無焦點狀態(tài)。 |
ACTIVE | 前臺激活狀態(tài),表示當前窗口已顯示,并獲取焦點。 |
BACKGROUND | 后臺狀態(tài),表示當前PageAbility退到后臺,PageAbility在被銷毀后由BACKGROUND狀態(tài)進入INITIAL狀態(tài),或者重新被激活后由BACKGROUND狀態(tài)進入ACTIVE狀態(tài)。 |
應(yīng)用開發(fā)者可以在app.js/app.ets中實現(xiàn)生命周期相關(guān)回調(diào)函數(shù),PageAbility生命周期相關(guān)回調(diào)函數(shù)見下表。
表2 PageAbility生命周期回調(diào)接口說明
接口名 | 接口描述 |
---|---|
onCreate() | Ability第一次啟動創(chuàng)建Ability時調(diào)用onCreate方法,開發(fā)者可以在該方法里做一些應(yīng)用初始化工作。 |
onDestroy() | 應(yīng)用退出,銷毀Ability對象前調(diào)用onDestroy方法,開發(fā)者可以在該方法里做一些回收資源、清空緩存等應(yīng)用退出前的準備工作。 |
onActive() | Ability切換到前臺,并且已經(jīng)獲取焦點時調(diào)用onActive方法。 |
onInactive() | Ability失去焦點時調(diào)用onInactive方法,Ability在進入后臺狀態(tài)時會先失去焦點,再進入后臺。 |
onShow() | Ability由后臺不可見狀態(tài)切換到前臺可見狀態(tài)調(diào)用onShow方法,此時用戶在屏幕可以看到該Ability。 |
onHide() | Ability由前臺切換到后臺不可見狀態(tài)時調(diào)用onHide方法,此時用戶在屏幕看不到該Ability。 |
PageAbility生命周期回調(diào)與生命周期狀態(tài)的關(guān)系如下圖所示。
圖2 PageAbility生命周期回調(diào)與生命周期狀態(tài)的關(guān)系
說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
- PageAbility的生命周期回調(diào)均為同步接口。
- 目前app.js環(huán)境中僅支持onCreate和onDestroy回調(diào),app.ets環(huán)境支持全量生命周期回調(diào)。
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151156 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2352瀏覽量
42858
發(fā)布評論請先 登錄
相關(guān)推薦
評論