一.是什么

在微信小程序中,生命周期主要分成了三部分:

(1)应用的生命周期

(2)页面的生命周期

(3)组件的生命周期

二.不同部分分别包含哪些

应用的生命周期

生命周期

说明

onLaunch

小程序初始化完成时触发,全局只触发一次

onShow

小程序启动,或从后台进入前台显示时触发

onHide

小程序从后台进入前台时触发

onError

小程序发生脚本错误或API调用报错时触发

onPageNotFound

小程序要打开的页面不存在时触发

onUnhandledRejection()

小程序有未处理的promise拒绝时触发

onThemeChange

系统切换主题时触发

页面的生命周期

生命周期

说明

作用

onLoad

生命周期回调——监听页面加载

发送请求获取数据

onShow

生命周期回调——监听页面显示

发送数据

onReady

生命周期回调——监听页面初次渲染完成

获取页面元素

onHide

生命周期回调——监听页面隐藏

终止任务,如定时器或者播放音乐

onUnload

生命周期回调——监听页面卸载

终止任务

组件的生命周期

生命周期

说明

created

生命周期回调——监听页面加载

attached

生命周期回调——监听页面显示

ready

生命周期回调——监听页面初次渲染完成

moved

生命周期回调——监听页面隐藏

detached

生命周期回调——监听页面卸载

error

每当组件方法抛出错误时执行

三.执行过程

应用生命周期执行过程:

1.用户首次打开小程序,触发onLaunch(全局只触发一次)

2.小程序初始化完成,触发onShow方法,监听小程序显示

3.小程序从前台切入后台,触发onHide方法

4.小程序从后台切入前台,触发onShow方法

5.小程序后台运行一定时间,或系统资源占用过高,会被销毁

页面生命周期的执行过程

1.小程序注册完成后,加载页面,触发onLoad方法

2.页面载入后触发onShow方法,显示页面

3.首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次

4.当小程序后台运行或跳转到其他页面时,触发onHide方法

5.当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法

6.当使用重定向方法wx.redirectTo()或关闭当前页返回上一页wx.navigateBack(),触发onUnload