小程序和小游戏网络相关 API 使用方式相同, 所以我们用网络接口来统称
# 前后台切换
小程序切后台 5s 后, 会中断网络请求, 开发者会收到 interrupted 的回调, 此时需要做好兼容逻辑
# 网络状态变化
当用户网络状态变化时会通过事件 wx.onNetworkStatusChange 进行通知, 不少网络问题是断网引起的, 可以通过此事件给用户更好的提示
# 弱网状态变化
基础库从 2.19.0 版本开始, 提供 wx.onNetworkWeakChange 弱网变化通知, 很多超时类的问题都是用户处于弱网引起的, 可以通过此事件给用户更好的提示
在最近的八次网络请求中, 出现下列三个现象之一则判定弱网
- 出现三次以上连接超时
- 出现三次 rtt 超过 400
- 出现三次以上的丢包
弱网事件通知规则是: 弱网状态变化时立即通知, 状态不变时 30s 内最多通知一次
# request/download 新协议
从 Android 7.0.12 / iOS 8.0.3 开始, 提供下面三个新参数
名称 | 含义 |
---|---|
enableHttp2 | 如果后台支持, 尝试使用 Http2 协议 |
enableQuic | 如果后台支持, 尝试使用 Quic 协议 |
enableCache | 缓存内容, 相同请求优先读取本地内容 |
h2 连接速度更快, 建议支持, 这里需要注意 h2 的 header 是需要为全小写, 打开 enableHttp2 开关前需要注意代码逻辑
# perMessageDeflate
压缩参数目前已在 Android 和 iOS 上全量支持