自定義組件:@Component裝飾的UI單元,可以組合多個(gè)系統(tǒng)組件實(shí)現(xiàn)UI的復(fù)用,可以調(diào)用組件的生命周期。
頁面:即應(yīng)用的UI頁面。可以由一個(gè)或者多個(gè)自定義組件組成,@Entry裝飾的自定義組件為頁面的入口組件,即頁面的根節(jié)點(diǎn),一個(gè)頁面有且僅能有一個(gè)@Entry。只有被@Entry裝飾的組件才可以調(diào)用頁面的生命周期。
頁面生命周期,即被@Entry裝飾的組件生命周期,提供以下生命周期接口:
onPageShow:頁面每次顯示時(shí)觸發(fā)一次,包括路由過程、應(yīng)用進(jìn)入前臺(tái)等場景。
onPageHide:頁面每次隱藏時(shí)觸發(fā)一次,包括路由過程、應(yīng)用進(jìn)入后臺(tái)等場景。
onBackPress:當(dāng)用戶點(diǎn)擊返回按鈕時(shí)觸發(fā)。
組件生命周期,即一般用@Component裝飾的自定義組件的生命周期,提供以下生命周期接口:
aboutToAppear:組件即將出現(xiàn)時(shí)回調(diào)該接口,具體時(shí)機(jī)為在創(chuàng)建自定義組件的新實(shí)例后,在執(zhí)行其build()函數(shù)之前執(zhí)行。
onDidBuild:組件build()函數(shù)執(zhí)行完成之后回調(diào)該接口,不建議在onDidBuild函數(shù)中更改狀態(tài)變量、使用animateTo等功能,這可能會(huì)導(dǎo)致不穩(wěn)定的UI表現(xiàn)。
aboutToDisappear:aboutToDisappear函數(shù)在自定義組件析構(gòu)銷毀之前執(zhí)行。不允許在aboutToDisappear函數(shù)中改變狀態(tài)變量,特別是@Link變量的修改可能會(huì)導(dǎo)致應(yīng)用程序行為不穩(wěn)定。
生命周期流程如下圖所示,下圖展示的是被@Entry裝飾的組件(頁面)生命周期: