找回密码
 立即注册

QQ登录

只需一步,快速开始

微信小程序开发资源

关注:1587

所属分类: 微信开发 微信小程序开发资源



本版块为微信小程序资源分享区,包括微信小程序开发中可能会用到的各类小程序开发工具、小程序demo源码及开发教程等。

快捷导航www.henkuai.com):微信小程序社区微信小程序导航微信小程序资源下载微信小程序官方课程

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

[复制链接]
查看: 4375|回复: 54
最佳答案
109 

717

主题

2386

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36521

HKC

QQ
 楼主| 发表于 2018-6-15 21:35:47 | 显示全部楼层 |阅读模式
小游戏新增分包加载功能。运用分包功能后,微信小程序或小游戏代码包总上限可提升至 8M。运维中心新增加载性能监控,帮助开发者了解并优化小程序加载性能。

1、分包加载功能升级

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

分包加载包大小的限制

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

使用方法

1. 分包配置

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

假设游戏的目录结构如下:
  1. ├── game.js
  2. ├── game.json
  3. ├── images
  4. │   ├── a.png
  5. │   ├── b.png
  6. ├── stage1
  7. │   └── game.js
  8. │   └── images
  9. │       ├── 1.png
  10. │       ├── 2.png
  11. └── stage2.js
复制代码

game.json 中的配置:
  1. {
  2.   ...
  3.   subpackages: [
  4.     {
  5.       name: 'stage1',
  6.       root: 'stage1/' // 可以指定一个目录,目录根目录下的 game.js 会作为入口文件,目录下所有资源将会统一打包
  7.     }, {
  8.       name: 'stage2',
  9.       root: 'stage2.js' // 也可以指定一个 JS 文件
  10.     }
  11.   ]
  12.   ...
  13. }
复制代码

配置在 subpackages 字段内的目录或 js 文件,将按照配置打包成一个个「分包」,没有配置在 subpackages 中的目录和 js,将会被打包到主包中。

2. 分包加载

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

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

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

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

2、新增加载性能监控

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

640_wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1.webp.jpg
回复

使用道具 举报

最佳答案
0 

0

主题

373

帖子

3142

积分

专家路上

积分
3142
发表于 2018-6-15 23:27:34 | 显示全部楼层
RE: ThinkPHP3.2化妆品护肤品微信小程序独立后台版 [修改]
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

1

帖子

30

积分

等待验证会员

积分
30
发表于 2018-7-18 15:04:04 | 显示全部楼层
18074020543474.png

18074149289747.png

18074243954217.png

18074331491214.png


18074402149408.png


18074432988254.png
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

9

帖子

50

积分

等待验证会员

积分
50
发表于 2018-8-6 11:44:28 | 显示全部楼层
6666666666666
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

677

帖子

7444

积分

S1

积分
7444
发表于 2018-8-10 18:31:54 | 显示全部楼层

谢谢分享
回复

使用道具 举报

最佳答案
0 

0

主题

252

帖子

1075

积分

专家路上

积分
1075
发表于 2018-8-11 09:33:12 | 显示全部楼层
厉害了。
回复

使用道具 举报

最佳答案
0 

0

主题

615

帖子

1224

积分

专家路上

积分
1224
QQ
发表于 2018-9-18 19:36:28 | 显示全部楼层
微赞通用模块:精美企微赞通用模块:精美企 微赞通用模块:精美企
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

539

帖子

5760

积分

S1

积分
5760
发表于 2018-9-22 23:43:29 | 显示全部楼层
谢谢分享
回复

使用道具 举报

最佳答案
0 

0

主题

539

帖子

5760

积分

S1

积分
5760
发表于 2018-9-30 12:06:38 | 显示全部楼层
谢谢分享
回复

使用道具 举报

最佳答案
0 

1

主题

677

帖子

7444

积分

S1

积分
7444
发表于 2018-9-30 12:08:21 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



www.henkuai.com—微信开发者的分享交流平台,专注微信开发生态。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

微信公众号

广告推广
QQ:805874290

市场合作
zhongcong@henkuai.com