小程序-基础篇-生命周期

328 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

小程序学习篇(六),今天一起学习一下小程序中关于生命周期的使用吧!相信学完了小程序系列篇,大家都能开发出自己满意的小程序了。

生命周期

什么是生命周期

生命周期是指一个对象从创建-运行-销毁的整个时间段。

正如人一样,从出生,成长-死亡。

小程序的运行过程:启动-运行-关闭,也是小程序的生命周期。

应用的生命周期

小程序启动-运行-销毁的过程

页面的生命周期

小程序中页面加载-渲染-销毁的过程

应用的生命周期函数

小程序的生命周期函数是在app.js中声明

App({
    // 小程序初始化完成时候执行,只触发一次
    onLaunch() {},
    // 小程序启动,或者从后台进入前台触发
    onShow(){},
    // 小程序从前台进入后台触发
    onHide(){}

页面的生命周期函数

页面周期函数是在页面的.js中声明

App({
    // 监听页面加载,一个页面只调用一次
    onLoad() {},
    // 监听页面显示
    onShow(){},
    // 监听页面隐藏
    onHide(){},
    // 监听页面初次渲染完成
    onReady(){},
    // 监听页面卸载,只调用一次
    onUNload(){},

小程序的启动

启动分为2种:一种是冷启动,一种是热启动

  • 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。
  • 热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动

前台与后台

小程序启动后,界面被展示给用户,此时小程序处于「前台」状态

当用户「关闭」小程序时,小程序并没有真正被关闭,而是进入了「后台」状态

当用户再次进入微信并打开小程序,小程序又会重新进入「前台」状态

 挂起

小程序进入「后台」状态一段时间后(目前是** 5 秒**),微信会停止小程序 JS 线程的执行

小程序进入「挂起」状态。小程序的内存状态会被保留,但开发者代码执行会停止,事件和接口回调会在小程序再次进入「前台」时触发。

当开发者使用了[后台音乐播放][后台地理位置]等能力时,小程序可以在「后台」持续运行,不会进入到「挂起」状态

小程序销毁

用户很久没有使用小程序,或者系统资源紧张,小程序会被「销毁

  • 当小程序进入后台并被「挂起」后,如果很长时间(目前是 30 分钟)都未再次进入前台,小程序会被销毁。
  • 当小程序占用系统资源过高,可能会被系统销毁或被微信客户端主动回收。