运行机制

小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

更新机制

小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。如果需要马上应用最新版本,可以使用 wx.getUpdateManager API 进行处理。

运行机制

  • 小程序没有重启的概念
  • 当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁
  • 当短时间内(5s)连续收到两次以上收到系统内存告警,会进行小程序的销毁

    再次打开逻辑

基础库 1.4.0 开始支持,低版本需做兼容处理

用户打开小程序的预期有以下两类场景:

A. 打开首页: 场景值有 1001, 1019, 1022, 1023, 1038, 1056

B. 打开小程序指定的某个页面: 场景值为除 A 以外的其他

当再次打开一个小程序逻辑如下:

上一次的场景 当前打开的场景 效果
A A 保留原来的状态
B A 清空原来的页面栈,打开首页(相当于执行 wx.reLaunch 到首页)
A 或 B B 清空原来的页面栈,打开指定页面(相当于执行 wx.reLaunch 到指定页)

原文:

https://developers.weixin.qq.com/miniprogram/dev/framework/operating-mechanism.html