ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## :-: 生命周期 >[danger] 生命周期就是指程序从创建、到开始、暂停、唤起、停止、卸载的过程。 ### **1.应用生命周期** >[success] 应用生命周期由app.js文件定义 > 1. 用户首次打开小程序,会触发`onLaunch`函数(全局只触发一次)。 2. 小程序初始化完成后,会触发`onShow`方法,监听小程序显示。 3. 小程序从前台进入后台,触发`onHide`方法。 4. 小程序从后台进入前台显示,触发`onShow`方法。 5. 小程序后台运行一定时间,或系统资源占用过高,会被销毁。 >[warning] 微信官方没有将小程序监听`销毁`方法开放给开发者 > ![](https://box.kancloud.cn/8e7e9669d405160c31a7d014e18da7e9_897x633.png) ### **2.页面生命周期** 1. 小程序注册完成后,加载页面,触发`onLoad`方法。 2. 页面载入后触发`onShow`方法,显示页面。 3. 首次显示页面,会触发`onReady`方法,渲染页面元素和样式,一个页面只会调用一次。 4. 当小程序后台运行或跳转到其他页面时,触发`onHide`方法。 5. 当小程序有后台进入到前台运行或重新进入页面时,触发`onShow`方法。 6. 当使用重定向方法`wx.redirectTo(OBJECT)`或关闭当前页返回上一页`wx.navigateBack()`,触发`onUnload` ![](https://box.kancloud.cn/7cf9220780611a86f4c49b9532610d6b_1304x769.png) ### **应用生命周期影响页面生命周期** 1. 小程序初始化完成后,页面首次加载触发onLoad,只会触发一次。 2. 当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。 3. 当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法。 ![](https://box.kancloud.cn/06bfca81a9c6775fd81a054134debd63_1988x856.png) ### **组件的生命周期** | created | 组件实例化,但节点树还未导入,因此这时不能用setData | | --- | --- | | attached | 节点树完成,可以用setData渲染节点,但无法操作节点 | | ready | 组件布局完成,这时可以获取节点信息,也可以操作节点 | | moved | 组件实例被移动到树的另一个位置 | | detached | 组件实例从节点树中移除 |