微信小程序> 微信小程序分包加载功能升级代码包提升至8M新增性能监控

微信小程序分包加载功能升级代码包提升至8M新增性能监控

浏览量:757 时间: 来源:guout
小游戏新增分包加载功能。运用分包功能后,微信小程序或小游戏代码包总上限可提升至 8M。运维中心新增加载性能监控,帮助开发者了解并优化小程序加载性能。

1、分包加载功能升级

开发者可以将小游戏代码分成多个包,每个包不超过 4M。从而根据用户需要,在合适时机下载指定包而非全部。
随着小游戏的玩法越来越丰富,开发者对于扩大包大小的需求越来越强烈,所以我们推出了小游戏分包加载这一个功能。 所谓的分包加载,即把游戏内容按一定规则拆分这几包,在首次启动时先下载必要的包,这个必要的包我们称为「主包」,开发者可以在主包内触发其它分包的下载,从而把首次启动的下载耗时分散到游戏运行中。

分包加载包大小的限制

目前小游戏分包大小有以下限制:
  • 整个小游戏所有分包大小不超过 8M
  • 单个分包/主包大小不能超过 4M

使用方法

1. 分包配置

需要先在 game.json 配置分包信息。

假设游戏的目录结构如下:
├── game.js├── game.json├── images│   ├── a.png│   ├── b.png├── stage1│   └── game.js│   └── images│       ├── 1.png│       ├── 2.png└── stage2.js
game.json 中的配置:
{  ...  subpackages: [    {      name: 'stage1',      root: 'stage1/' // 可以指定一个目录,目录根目录下的 game.js 会作为入口文件,目录下所有资源将会统一打包    }, {      name: 'stage2',      root: 'stage2.js' // 也可以指定一个 JS 文件    }  ]  ...}
配置在 subpackages 字段内的目录或 js 文件,将按照配置打包成一个个「分包」,没有配置在 subpackages 中的目录和 js,将会被打包到主包中。

2. 分包加载

我们提供了 wx.loadSubpackage() API 来触发分包的下载,调用 wx.loadSubpackage 后,将触发分包的下载与加载,在加载完成后,通过 wx.loadSubpackage 的 success 回调来通知加载完成。

同时,wx.loadSubpackage 会返回一个 LoadSubpackageTask,可以通过 LoadSubpackageTask 获取当前下载进度。

示例代码:
const loadTask = wx.loadSubpackage({  name: 'stage1', // name 可以填 name 或者 root  success: function(res) {    // 分包加载成功后通过 success 回调  },  fail: function(res) {    // 分包加载失败通过 fail 回调  }})loadTask.onProgressUpdate(res => {  console.log('下载进度', res.progress)  console.log('已经下载的数据长度', res.totalBytesWritten)  console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)})

运用分包功能后,小程序或小游戏代码包总上限可提升至 8M。建议开发者将每个分包做得尽可能小,以便提升用户的打开速度,优化服务体验。

2、新增加载性能监控

运维中心增加小程序加载性能监控,包括:启动总耗时、下载耗时和初次渲染耗时。便于开发者了解小程序的加载性能,并可通过分包加载、代码优化等方式进行优化。

小程序

原文:http://www.henkuai.com/thread-37890-1-1.html

小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎