PageAbility的生命周期
PageAbility生命周期是PageAbility被調(diào)度到INACTIVE、ACTIVE、BACKGROUND等各個(gè)狀態(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),為臨時(shí)狀態(tài),PageAbility被創(chuàng)建后會(huì)由UNINITIALIZED狀態(tài)進(jìn)入INITIAL狀態(tài)。 |
INITIAL | 初始化狀態(tài),也表示停止?fàn)顟B(tài),表示當(dāng)前PageAbility未運(yùn)行,PageAbility被啟動(dòng)后由INITIAL態(tài)進(jìn)入INACTIVE狀態(tài)。 |
INACTIVE | 失去焦點(diǎn)狀態(tài),表示當(dāng)前窗口已顯示但是無焦點(diǎn)狀態(tài)。 |
ACTIVE | 前臺(tái)激活狀態(tài),表示當(dāng)前窗口已顯示,并獲取焦點(diǎn)。 |
BACKGROUND | 后臺(tái)狀態(tài),表示當(dāng)前PageAbility退到后臺(tái),PageAbility在被銷毀后由BACKGROUND狀態(tài)進(jìn)入INITIAL狀態(tài),或者重新被激活后由BACKGROUND狀態(tài)進(jìn)入ACTIVE狀態(tài)。 |
應(yīng)用開發(fā)者可以在app.js/app.ets中實(shí)現(xiàn)生命周期相關(guān)回調(diào)函數(shù),PageAbility生命周期相關(guān)回調(diào)函數(shù)見下表。
表2 PageAbility生命周期回調(diào)接口說明
接口名 | 接口描述 |
---|---|
onCreate() | Ability第一次啟動(dòng)創(chuàng)建Ability時(shí)調(diào)用onCreate方法,開發(fā)者可以在該方法里做一些應(yīng)用初始化工作。 |
onDestroy() | 應(yīng)用退出,銷毀Ability對(duì)象前調(diào)用onDestroy方法,開發(fā)者可以在該方法里做一些回收資源、清空緩存等應(yīng)用退出前的準(zhǔn)備工作。 |
onActive() | Ability切換到前臺(tái),并且已經(jīng)獲取焦點(diǎn)時(shí)調(diào)用onActive方法。 |
onInactive() | Ability失去焦點(diǎn)時(shí)調(diào)用onInactive方法,Ability在進(jìn)入后臺(tái)狀態(tài)時(shí)會(huì)先失去焦點(diǎn),再進(jìn)入后臺(tái)。 |
onShow() | Ability由后臺(tái)不可見狀態(tài)切換到前臺(tái)可見狀態(tài)調(diào)用onShow方法,此時(shí)用戶在屏幕可以看到該Ability。 |
onHide() | Ability由前臺(tái)切換到后臺(tái)不可見狀態(tài)時(shí)調(diào)用onHide方法,此時(shí)用戶在屏幕看不到該Ability。 |
PageAbility生命周期回調(diào)與生命周期狀態(tài)的關(guān)系如下圖所示。
圖2 PageAbility生命周期回調(diào)與生命周期狀態(tài)的關(guān)系
說明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[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文章
8496瀏覽量
150834 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2307瀏覽量
42738
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論