跟APP一样,微信小程序也有自己的生命周期,了解微信小程序的生命周期对于小程序开发者来说非常重要,关系到什么时候加载数据、显示页面、缓存和恢复页面数据。小程序的生命周期包括两部分,一个是 小程序的生命周期 ,另一个是 页面的生命周期 。
小程序的生命周期App()
生命周期函数 | 描述 |
---|---|
onLaunch | 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) |
onShow | 当小程序启动,或从后台进入前台显示,会触发 onShow |
onHide | 当小程序从前台进入后台,会触发 onHide |
页面的生命周期Page()
生命周期函数 | 描述 |
---|---|
onLoad | 监听页面加载 |
onShow | 监听页面初次渲染完成 |
onReady | 监听页面显示 |
onHide | 监听页面隐藏 |
onUnload | 监听页面卸载 |
一些场景下生命周期的调用
看官网的说明可能不太好理解,下面通过具体场景来了解生命周期函数的调用顺序。
调试环境:
- 手机:华为荣耀8
- 系统:Android 7.0
- 微信版本:6.5.10
- 小程序基础库版本:1.4.4
流程1:首次启动小程序
App.onLaunch --> App.onShow --> Page.onLoad --> Page.onShow --> Page.onReady

流程2:小程序进入后台(按Home键/左上角✘)
流程1 --> Page.onHide --> App.onHide

流程3:小程序从后台重新打开
流程2 --> App.onShow --> Page.onShow

流程4:按返回键
流程1 --> Page.onUnload(非栈底页面)

流程1 --> Page.onHide --> App.onHide(栈底页面)

流程5:从微信消息打开小程序(未安装小程序)(同流程1)
流程6:从微信消息打开小程序(已安装小程序且在后台运行)(同流程3)
流程7:从微信消息打开小程序(已安装小程序且不在后台运行)(同流程1)
流程8:小程序被销毁后重新启动(进入后台一段时间后被系统销毁)(同流程1)
最后贴一张官方的Page生命周期图

网友评论