运行机制
小程序运行机制
1. 小程序的生命周期
小程序从启动到最终被销毁,会经历很多不同的状态,小程序在不同状态下会有不同的表现。
1.1 小程序启动
从用户认知的角度看,广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动。
冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。
热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。 从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。
1.2 前台与后台
小程序启动后,界面被展示给用户,此时小程序处于「前台」状态。
当用户「关闭」小程序时,小程序并没有真正被关闭,而是进入了「后台」状态,此时小程序还可以短暂运行一小段时间,但部分 API 的使用会受到限制。切后台的方式包括但不限于以下几种:
- 点击右上角胶囊按钮离开小程序
- 小程序前台运行时直接切后台(手势或 Home 键)
- 小程序前台运行时直接锁屏
当用户再次打开小程序,小程序又会重新进入「前台」状态。
1.3 小程序销毁
用户主动杀掉进程或者当小程序占用系统资源过高,可能会被系统销毁。
2. 小程序冷启动的页面
小程序冷启动时,打开的页面有以下情况
- 若启动的场景中不带 path,进入首页
- 若启动的场景中带有 path,则启动进入对应 path 的页面
3. 小程序热启动的页面
小程序热启动时,打开的页面有以下情况
- 若启动的场景中不带 path,则保留上次的浏览的状态
- 若启动的场景中带有 path,则 reLaunch 到对应 path 的页面