当用户点击了右上角的胶囊按钮关闭小程序,或者滑动屏幕返回手机主页面(离开微信),这时候小程序并没有直接销毁,而是进入了后台。当再次进入微信或者再次打开小程序,又会从后台进入前台。
只有当小程序进入后台一定时间(也就是时间过长),或者系统资源占用过高,才会被真正的销毁。
冷启动:小程序首次打开或者销毁后再次被打开。
热启动:是指从后台切换到前台,或者小程序在后台运行,重新打开小程序。
小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,
如果需要马上应用最新版本,可以使用 wx.getUpdateManager
API 进行处理。
// app.js App({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function () { // 检查是否需要更新 this.checkForUpdates(); }, /** * 当小程序启动,或从后台进入前台显示,会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台,会触发 onHide */ onHide: function () { }, checkForUpdates: function () { if (!wx.canIUse(getUpdateManager)) { wx.showModal({ title: '提示', content: '当前微信版本过低,请升级到最新微信版本后重试。', showCancel: false, }); return; } const updateManager = wx.getUpdateManager(); updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', showCancel: false, success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate(); } } }); }); updateManager.onUpdateFailed(function () { // 新版本下载失败 wx.showModal({ title: '已经有新版本喽~', content: '请您删除当前小程序,到微信 “发现-小程序” 页,重新搜索打开哦~', showCancel: false, }); }); }, });
tip:微信后台有设置“最低基础库版本”,低于最低基础库版本的少数用户可能存在基础库缓存问题,应根据【微信官方文档】基础库版本分布的映射关系,对这部分用户提示更新。