持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
小程序学习篇(六),今天一起学习一下小程序中关于生命周期的使用吧!相信学完了小程序系列篇,大家都能开发出自己满意的小程序了。
生命周期
什么是生命周期
生命周期是指一个对象从创建-运行-销毁的整个时间段。
正如人一样,从出生,成长-死亡。
小程序的运行过程:启动-运行-关闭,也是小程序的生命周期。
应用的生命周期
小程序启动-运行-销毁的过程
页面的生命周期
小程序中页面加载-渲染-销毁的过程
应用的生命周期函数
小程序的生命周期函数是在app.js中声明
App({
// 小程序初始化完成时候执行,只触发一次
onLaunch() {},
// 小程序启动,或者从后台进入前台触发
onShow(){},
// 小程序从前台进入后台触发
onHide(){}
页面的生命周期函数
页面周期函数是在页面的.js中声明
App({
// 监听页面加载,一个页面只调用一次
onLoad() {},
// 监听页面显示
onShow(){},
// 监听页面隐藏
onHide(){},
// 监听页面初次渲染完成
onReady(){},
// 监听页面卸载,只调用一次
onUNload(){},
小程序的启动
启动分为2种:一种是冷启动,一种是热启动
- 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。
- 热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动
前台与后台
小程序启动后,界面被展示给用户,此时小程序处于「前台」状态
当用户「关闭」小程序时,小程序并没有真正被关闭,而是进入了「后台」状态
当用户再次进入微信并打开小程序,小程序又会重新进入「前台」状态
挂起
小程序进入「后台」状态一段时间后(目前是** 5 秒**),微信会停止小程序 JS 线程的执行
小程序进入「挂起」状态。小程序的内存状态会被保留,但开发者代码执行会停止,事件和接口回调会在小程序再次进入「前台」时触发。
当开发者使用了[后台音乐播放][后台地理位置]等能力时,小程序可以在「后台」持续运行,不会进入到「挂起」状态
小程序销毁
用户很久没有使用小程序,或者系统资源紧张,小程序会被「销毁」
- 当小程序进入后台并被「挂起」后,如果很长时间(目前是 30 分钟)都未再次进入前台,小程序会被销毁。
- 当小程序占用系统资源过高,可能会被系统销毁或被微信客户端主动回收。