Chinaunix首页 | 论坛 | 博客
  • 博客访问: 931057
  • 博文数量: 210
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2070
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 21:54
文章分类

全部博文(210)

文章存档

2020年(2)

2019年(18)

2018年(27)

2017年(5)

2016年(53)

2015年(88)

2014年(17)

分类: 其他平台

2019-07-04 17:48:49

在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。对于独立分包,也可以预下载主包。
分包预下载目前只支持通过配置方式使用。

预下载分包行为在进入某个页面时触发,通过在 app.json 增加 preloadRule 配置来控制。

点击(此处)折叠或打开

  1. {
  2.   "pages": [
  3.     "page/tabBar/component/index"//小程序默认的首页              主包
  4.     "page/tabBar/API/index"
  5.   ],
  6.   "window": {
  7.     "navigationBarTextStyle": "black",
  8.     "navigationBarTitleText": "分包预下载",
  9.     "navigationBarBackgroundColor": "#F8F8F8",
  10.     "backgroundColor": "#F8F8F8"
  11.   },
  12.   "tabBar": {
  13.     "color": "#7A7E83",
  14.     "selectedColor": "#3cc51f",
  15.     "borderStyle": "black",
  16.     "backgroundColor": "#ffffff",
  17.     "list": [
  18.       {
  19.         "pagePath": "page/tabBar/component/index",
  20.         "iconPath": "image/icon_component.png",
  21.         "selectedIconPath": "image/icon_component_HL.png",
  22.         "text": "组件"
  23.       },
  24.       {
  25.         "pagePath": "page/tabBar/API/index",
  26.         "iconPath": "image/icon_API.png",
  27.         "selectedIconPath": "image/icon_API_HL.png",
  28.         "text": "接口"
  29.       }
  30.     ]
  31.   },
  32.   "subPackages": [    // 分包字段
  33.     {
  34.       "root": "page/component/",    //分包1  page/component
  35.       "pages": [
  36.         "pages/view/view",
  37.         "pages/scroll-view/scroll-view",
  38.       ]
  39.     },
  40.     {
  41.       "root": "page/API/",           //分包2  page/API/
  42.       "pages": [
  43.         "pages/login/login",
  44.         "pages/get-user-info/get-user-info"
  45.        
  46.       ]
  47.     }
  48.   ],
  49.   "preloadRule": {          //分包加载字段

  50. //当页面 page/tabBar/component/index 触发时开始下载 分包 page/component/
  51.     "page/tabBar/component/index": {    
  52.       "network": "all",
  53.       "packages": [
  54.         "page/component/"
  55.       ]
  56.     },
  57. //当页面 page/tabBar/API/index 触发时开始下载 分包 page/API/
  58.     "page/tabBar/API/index": {
  59.       "network": "all",
  60.       "packages": [
  61.         "page/API/"
  62.       ]
  63.     }
  64.   },
  65.   
  66.  
  67. }
vConsole 里有preloadSubpackages开头的日志信息,可以用来验证预下载的情况。
preloadSubpackages: page/component/
preloadSubpackages: success
web调试工具样式

安卓真机调试

参数说明:

ps:
    同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。
如,页面 A 和 B 都在同一个分包中,A 中预下载总大小 0.5M 的分包,B中最多只能预下载总大小 1.5M 的分包。

分包预下载优点:
    在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示,第一次从主包进入副包,需要加载,加载的时间用户只能等待,分包预下载大大优化用户的等待时间

阅读(2895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~