1# 生命周期 2 3## 应用生命周期 4 5在app.js中可以定义如下应用生命周期函数: 6 7| 属性 | 类型 | 描述 | 触发时机 | 8| -------- | -------- | -------- | -------- | 9| onCreate | () => void | 应用创建 | 当应用创建时调用。 | 10| onShow<sup>6+</sup> | () => void | 应用处于前台 | 当应用处于前台时触发。 | 11| onHide<sup>6+</sup> | () => void | 应用处于后台 | 当应用处于后台时触发。 | 12| onDestroy | () => void | 应用销毁 | 当应用退出时触发。 | 13 14 15## 页面生命周期 16 17在页面JS文件中可以定义如下页面生命周期函数: 18 19| 属性 | 类型 | 描述 | 触发时机 | 20| -------- | -------- | -------- | -------- | 21| onInit | () => void | 页面初始化 | 页面数据初始化完成时触发,只触发一次。 | 22| onReady | () => void | 页面创建完成 | 页面创建完成时触发,只触发一次。 | 23| onShow | () => void | 页面显示 | 页面显示时触发。 | 24| onHide | () => void | 页面消失 | 页面消失时触发。 | 25| onDestroy | () => void | 页面销毁 | 页面销毁时触发。 | 26| onBackPress | () => boolean | 返回按钮动作 | 当用户点击返回按钮时触发。<br/>- 返回true表示页面自己处理返回逻辑。<br/>- 返回false表示使用默认的返回逻辑。<br/>- 不返回值会作为false处理。 | 27| onActive()<sup>5+</sup> | () => void | 页面激活 | 页面激活时触发。 | 28| onInactive()<sup>5+</sup> | () => void | 页面暂停 | 页面暂停时触发。 | 29| onNewRequest()<sup>5+</sup> | () => void | FA重新请求 | FA已经启动时收到新的请求后触发。 | 30 31页面A的生命周期接口的调用顺序 32- 打开页面A:onInit() -> onReady() -> onShow() 33 34- 在页面A打开页面B:onHide() 35 36- 从页面B返回页面A:onShow() 37 38- 退出页面A:onBackPress() -> onHide() -> onDestroy() 39 40- 页面隐藏到后台运行:onInactive() -> onHide() 41 42- 页面从后台运行恢复到前台:onShow() -> onActive() 43 44![zh-cn_image_0000001147417424](figures/zh-cn_image_0000001147417424.png) 45 46 47