通信层优化思路小结

通信测试最好使用2G测试,可以慢,但要能跑通,若出现“无法连接到网络”或者“网络连 接超时”的对话框,就是开发人员必须要解决的问题了。

  • 1、接口返回的大数据,要使用 gzip 进行压缩
注意:大于 1KB 才进行压缩, 否则得不偿失。经过 gzip 压缩后,返回的数据量大幅减少。
  • 2、ProtoBuffer协议是二进制格式的,所以在表示大数据时,空间比 JSON 小很多。
  • 3、减少网络访问次数,能调用一次取到数据的,就不要调用两次
  • 4、HTTP 协议的速 度远不如使用 TCP协议,因为后者是长连接。缺点是一台服务器能支持的长连接个数不多,所以需要更多的服务器集成。
  • 5、要建立取消网络请求的机制。页面跳转等情况,如果无需再进行请求的直接中断请求。过多的请求可能会使网络底层的请求队列已经被阻塞
无论是 iOS 还是Android,
都应该在基类(BaseViewController 或者 BaseActivity)中提 供一个 cancelRequest的方法,
用以在离开当前页面时清空网络请求队列。
  • 6、增加重试机制(post 请求是不建议有重试机制的)。
一般将获取数据 的请求接口都定义为 get;而把操作数据的请求接口都定义为 post。

可以为所有的 get 请求配置重试机制,比如 get 请求失败后重试 3 次。
post 下单接口是个 post 请求,如果请求失败那么就会重试 3 次,直到下单成功。
但是有时候 post 请求并没有失 败,而是超时了,超时时间是 30 秒,但是却 31 秒返回了,如果因此而重新发起下单请求, 那么就会连续下单两次。

所以 post 请求是不建议有重试机制的。
此外,对所有的 post 请求, 都要增加防止用户 1 分钟内频繁发起相同请求的机制,这样就能有效防止重复下单、重复发 表评论、重复注册等操作。

如果 post 请求具有防重机制,那么倒是可以增加重试机制。

需要服务器端灵活配置重试的次数,可以是 0 次,意味着不会重试。在 App 启动的时候,告诉 App 所有接口的重试次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值