赞
踩
小程序启动后,界面被展示给用户,此时小程序处于前台状态。
当用户点击右上角按钮关闭小程序,或者按了设备 Home 键离开微信时,小程序并没有完全终止运行,而是进入了后台状态,小程序还可以运行一小段时间。
当用户再次进入微信或再次打开小程序,小程序又会从后台进入前台。但如果用户很久没有再进入小程序,或者系统资源紧张,小程序可能被销毁,即完全终止运行。
开发者在管理后台发布新版本的小程序之后,微信客户端会有若干个时机去检查本地缓存的小程序有没有新版本,并进行小程序的代码包更新。但如果用户本地有小程序的历史版本,此时打开的可能还是旧版本。
在以下情况下,小程序启动时会同步更新代码包。同步更新会阻塞小程序的启动流程,影响小程序的启动耗时。
如果更新失败或超时,为了保障小程序的可用性,还是会使用本地版本打开。
用户长时间未使用小程序时,为保障小程序版本的实时性,会强制同步检查版本更新,更新到最新版本后再打开小程序。
若用户处于弱网环境、下载最新版本失败等情况下,仍会启动本地的较低版本。
const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) }) updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新版本下载失败 })
//app.js App({ onLaunch() { this.update() }, // 版本更新 update() { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 if(res.hasUpdate) { // 新版本下载成功 updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,请您重启应用,以确保正常使用。', success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) // 新版本下载失败 updateManager.onUpdateFailed(function () { wx.showModal({ title: '更新提示', content: '检测到了新版本,但是下载失败了~' }) }) } }) } })
若开发者判断某些较旧的小程序版本服务不再可用,可以在小程序管理后台 「设置」-「功能设置」-「小程序最低可用版本设置」中进行设置。设置后若同步更新时检查本地版本低于该版本,则无法打开,并继续尝试下载最新版本、若异步更新,则会在检查到更新后提示用户重启小程序更新新版本。
操作步骤如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。