鸿蒙的生命周期主要包括应用生命周期 、页面生命周期 、组件生命周期。下面是详细介绍:
应用生命周期
onCreate
:当应用启动时首先触发。在这个阶段,开发者可以初始化应用所需的数据和资源。onWindowStageCreate
:当应用窗口创建时触发。可以通过windowStage.loadContent('pages/Index')
方法设置应用要加载的主界面obBackground
:当应用从前台切换到后台时触发。在这个阶段可以释放一些资源或暂停任务。onForeground
:当应用从后台切换到前台时触发。在这个阶段可以重启一些释放的资源。onWindowStageDestroy
和onDeStroy
:这两个方法分别是在应用窗口销毁和应用销毁时调用。在这个阶段可以释放所有占用的系统资源。
页面生命周期
onPageShow
当页面显示完成时触发(包括路由过程、应用进入前台等场景)onPageHide
当页面隐藏时触发(包括路由过程、应用进入后台等场景)onBackPress
当用户点击返回键或离开页面时触发
组件生命周期
aboutToAppear
组件即将出现,在执行build函数之前执行。(可以进行数据初始化、资源加载等)aboutToDisappear
组件即将被销毁时调用(释放所有不再需要的资源,避免内存泄露和性能问题)
其他介绍
onBackPress()
onBackPress
函数可以监听用户返回上一个页面,然后可以做拦截处理,比如支付场景:用户到了支付界面,未支付返回上一页面
extendtypescript
onBackPress(){
try {
router.showAlertBeforeBackPage({
message: '您还没有完成支付,确定要返回吗?'
})
} catch(err){
console.error(`Invoke showAlertBeforeBackPage failed, code is ${err.code}, message is ${err.message}`)
}
}