1# 生命周期 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @mayaolll--> 5<!--Designer: @jiangdayuan--> 6<!--Tester: @lxl007--> 7<!--Adviser: @HelloCrease--> 8 9 10## 应用生命周期 11 12在app.js中可以定义如下应用生命周期函数: 13 14| 属性 | 类型 | 描述 | 触发时机 | 15| --------- | ---------- | -------- | ------------------ | 16| onCreate | () => void | 应用创建 | 当应用创建时调用。 | 17| onDestroy | () => void | 应用销毁 | 当应用退出时触发。 | 18 19## 页面生命周期 20 21在页面JS文件中可以定义如下页面生命周期函数: 22 23> **说明:** 请注意不要在生命周期函数中执行复杂耗时操作,以避免影响页面切换性能 24 25| 属性 | 类型 | 描述 | 触发时机 | 26| --------- | ---------- | ------------ | -------------------------------------- | 27| onInit | () => void | 页面初始化 | 页面数据初始化完成时触发,只触发一次。 | 28| onReady | () => void | 页面创建完成 | 页面创建完成时触发,只触发一次。 | 29| onShow | () => void | 页面显示 | 页面显示时触发。 | 30| onHide | () => void | 页面消失 | 页面消失时触发。 | 31| onDestroy | () => void | 页面销毁 | 页面销毁时触发。 | 32 33页面A的生命周期接口的调用顺序: 34 35- 打开页面A:onInit() -> onReady() -> onShow() 36- 在页面A打开页面B:onHide() -> onDestroy() 37- 从页面B返回页面A:onInit() -> onReady() -> onShow() 38- 退出页面A:onHide() -> onDestroy() 39- 页面隐藏到后台运行:onHide() 40- 页面从后台运行恢复到前台:onShow() 41 42