微信小程序分包加载功能升级 代码包提升至8M 新增性能监控
原文:http://www.henkuai.com/thread-37890-1-1.html
1、分包加载功能升级
开发者可以将小游戏代码分成多个包,每个包不超过 4M。从而根据用户需要,在合适时机下载指定包而非全部。
分包加载包大小的限制
目前小游戏分包大小有以下限制:
使用方法
1. 分包配置
需要先在 game.json 配置分包信息。
假设游戏的目录结构如下:
game.json 中的配置: ├── game.js
├── game.json
├── images
│ ├── a.png
│ ├── b.png
├── stage1
│ └── game.js
│ └── images
│ ├── 1.png
│ ├── 2.png
└── stage2.js
配置在 subpackages 字段内的目录或 js 文件,将按照配置打包成一个个「分包」,没有配置在 subpackages 中的目录和 js,将会被打包到主包中。 {...subpackages: [{name: 'stage1',root: 'stage1/' // 可以指定一个目录,目录根目录下的 game.js 会作为入口文件,目录下所有资源将会统一打包}, {name: 'stage2',root: 'stage2.js' // 也可以指定一个 JS 文件}]...
}
2. 分包加载
我们提供了 wx.loadSubpackage() API 来触发分包的下载,调用 wx.loadSubpackage 后,将触发分包的下载与加载,在加载完成后,通过 wx.loadSubpackage 的 success 回调来通知加载完成。
同时,wx.loadSubpackage 会返回一个 LoadSubpackageTask,可以通过 LoadSubpackageTask 获取当前下载进度。
示例代码: const loadTask = wx.loadSubpackage({name: 'stage1', // name 可以填 name 或者 rootsuccess: function(res) {// 分包加载成功后通过 success 回调},fail: function(res) {// 分包加载失败通过 fail 回调}
})
loadTask.onProgressUpdate(res => {console.log('下载进度', res.progress)console.log('已经下载的数据长度', res.totalBytesWritten)console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
})
运用分包功能后,小程序或小游戏代码包总上限可提升至 8M。建议开发者将每个分包做得尽可能小,以便提升用户的打开速度,优化服务体验。
2、新增加载性能监控
运维中心增加小程序加载性能监控,包括:启动总耗时、下载耗时和初次渲染耗时。便于开发者了解小程序的加载性能,并可通过分包加载、代码优化等方式进行优化。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
