运行机制
前台/后台状态
小程序启动后,界面被展示给用户,此时处于前台状态。
当用户点击右上角胶囊按钮关闭小程序,或者按了home键离开微信,小程序并没有完全终止运行,而是进入后台状态,小程序还可以运行一小段时间。
当用户再次进入微信或打开小程序,小程序会从后台进入前台,如果用户很久没有进入小程序或系统资源紧张,小程序可能被销毁。
小程序启动
- 冷启动:用户首次打开,或小程序被系统销毁后再次打开。
- 热启动:小程序并未销毁,从后台进入前台状态。
小程序销毁时机
- 小程序进入后台后,可以维持一小段时间的运行状态,如果这段时间未进入前台,小程序就会被销毁。
- 小程序占用系统资源过高,可能会被系统销毁或被微信客户端主动回收。在iOS上,当微信客户端在一定时间间隔内连续收到系统内存告警时,会根据一定策略主动销毁小程序。可以通过
wx.onMemoryWarning
监听内存告警事件。
App.js 生命周期方法调用时机
- onLaunch:小程序初始化完成时触发,全局触发一次。
- onShow:小程序启动或从后台进入前台显示时触发。
- onHide:前台进入后台时触发。
- onError:脚本错误或API调用报错时触发。
- onPageNotFound:小程序要打开的页面不存在时触发,可以在此方法中页面重定向
- onUnhandledRejection:小程序有未处理的 Promise 拒绝时触发。