网络调优新方法 请求速度一级fast-上虞网络公司为你呈现
小程序技术研发工程师 binnie 原创
binnie!查找网络错误好难受 明明知道有问题,但是找不到错在哪
用户当前的网络状态不好,能不能提醒他们?
微信官方有没有支持新协议,实现更快的请求速度呢?
别着急!码下这些网络调优好方法,小程序请求速度一级 fast
伴随着线上化趋势,小程序逐渐成为日常生活的数字连接器,为大家的数字化生活提供便利。在小程序的使用过程中,网络环境对于用户体验有着非常重要的影响。好的网络环境给予流畅的用户体验,赋能小程序业务。
针对网络环境的应用开发,微信团队提出 网络调优方法,提升网络请求速度,优化用户体验。

查一查:网络分析
Profile 信息了解耗时信息
| request / download | WebSocket | |
| 方式 | 回调提供 Profile 信息 | onOpen 回调提供 Profile 信息 |
| 请求链路 | DNS -> Connect -> SSL -> request -> respone | DNS -> Connect |
更统一:拥有统一的设计规范,同时不同 API 错误码颗粒度统一,帮助开发者快速辨别错误类型 更便捷:不同 API 出现相同错误,对应错误码一致,便于开发者便捷整理错误类型 更全面:包含 API 类别信息,帮助开发者快速定位问题
(0)6 表示 API 接口的一级类目为【网络】 00 表示 API 接口的二级类目为【通用网络错误】 002 表示具体错误类型为【URL域名不在安全域名列表中】
用一用:能力支持
了解网络错误原因,开发者着手解决网络问题。微信团队提供 request 新参数、perMessageDeflate 压缩扩展 2 种方法,助力网络请求速度提升。
应用新参数,场景化加速网络水平
针对网络请求相关的新协议,微信团队现已提供 5 类新参数,加速网络水平:
enableHttp2:如果后台支持,尝试使用 Http2 协议,适用于高并发、高带宽场景 enableQuic:如果后台支持,尝试使用 Quic 协议,适用于低延迟、高吞吐场景 enableCache:缓存内容,相同请求优先读取本地内容 enableHttpDNS:开启 HttpDNS 服务,降低用户连接失败率 enableChunked:开启 transfer-encoding chunked 服务,支持分块传输
拍一拍:网络状态提醒
前后台切换
在小程序切换后台 5 秒后,自动中断网络请求并且收到 interrupted 回调。建议开发者提醒用户重试,避免造成不良体验。
网络状态变化
小程序网络问题常常出现在断网情况,因此开发者可以通过事件 wx.onNetworkStatusChange 通知网络状态变化,引导用户进行网络切换。
弱网状态变化
大部分的网络超时问题主要由弱网引起。弱网主要是基于以下现象判定:
8 次网络请求中,出现 3 次以上连接超时
8 次网络请求中,出现 3 次 rtt 超过 400
8 次网络请求中,出现 3 次以上丢包
一方面开发者可以通过 缓存管理器 优化弱网时小程序的使用体验,另一方面开发者可以通过事件 wx.onNetworkWeakChange 监听弱网变化,给予用户更好的提示。
网络环境对于小程序的体验有着非常重要的影响。通过原因分析了解网络问题的根因,通过使用协议扩展能力提高网络水平,通过网络状态提醒提升用户体验,最终提升请求速度,满足用户需求。关于网络调优的更多内容,请点击 官方文档 了解更多。
推荐
-
-
QQ空间
-
新浪微博
-
人人网
-
豆瓣
