美文网首页
iOS开发移动端网络优化的几点建议

iOS开发移动端网络优化的几点建议

作者: 二维码码 | 来源:发表于2019-03-14 10:18 被阅读0次

     许多苹果应用在发布以后,会收到来自用户的许多反馈,其中有关网络传输慢和连接有问题的结果占到一部分,这十分影响来自用户的体验度。

      相对于有线网络连接,移动网络有自身不足的缺点:带宽低,延迟高,丢包率高,稳定性差。3G网络的带宽一般下行100-200KB/S,上行10-100KB/S,延迟0-400ms,带宽方面基本逼近2M有线网络,但延迟较高,稳定性不够。而2G更是惨不忍睹:一般只有10KB/S下行和1KB/S左右的上行速度,延迟基本不低于400ms,网络环境不好时甚至有数秒的延迟。针对这些情况,我列举几条建议,如下:

1.尽可能减少不必要的网络连接。

大多数的移动网络(3G)并不允许一个给定IP地址超过两个的并发HTTP请求,既当你有两个针对同一个地址的连接时,再发起的第三个连接总是会超时。而2G网络下这个限定为1个。同一时间发起过多的网络请求不仅不会起到加速的效果,反而有副作用。另一方面,由于网络连接很是费时,保持和共享某一条连接就是一个不错的选择:比如短时间内多次的HTTP请求。

2.使用断点上传和分段上传

一方面可以在重新传输时省去已传输数据的流量,而另一方面将文件分成几个请求上传可以尽量减少传输中的包大小,避免高丢包率环境导致TCP包丢包重传甚至失败,保证传输的成功率(当然也减低了效率)。

3.合理地选择加密

对于信息安全来说,最理想的状态是所有的请求都是通过加密的。这对于PC来说并不是一个问题,但是对于电量资源有限的移动端来说却是一个需要好好权衡的问题:网络传输中加密的使用增加了CPU的负担同时也激活了其他资源,这将导致电量更快地被损耗。对于非机密的信息比如图片资源,描述资源就完全可以不进行任何加密。

4.使用缓存(实质是用空间来换取时间)

在本地有有效数据的情况下直接不发起网络请求。配置文件,资源文件,描述文件,几乎所有的文件都可以成为我们缓存的对象,而大部分涉及到网络相关的iOS第三方库都提供了极其方便的缓存方法,程序员唯一需要考虑的就只有缓存容量和过期时间的问题。

5.尽量使用IP而非域名进行连接

对于有线网络来说DNS查询可能是一件不费吹灰之力的事,但是对于移动网络来说却不是这样,一次DNS查询的耗时甚至都能赶得上一次连接的耗时。于是在有条件的情况下,缓存服务器IP地址和端口,并尽量使用IP进行连接是个好的选择。另一个原因是中国移动的DNS服务相当不靠谱,错误率极高(传闻出错率在60%以上)。我们就碰到过几次某个地段的童鞋使用移动2G总是无法解析域名的情况。

6.设置合理的超时时间

过短的超时容易导致连接超时的事情频频发生,甚至一直无法连接,而过长的超时则会带来等待时间过长,体验差的问题。就目前来看,对于普通的TCP连接30秒是个不错的超时值,而Http请求可以按照重要性和当前网络情况动态调整超时,尽量将超时控制在一个合理的数值内,以提高单位时间内网络的利用率。

相关文章

  • iOS开发移动端网络优化的几点建议

    许多苹果应用在发布以后,会收到来自用户的许多反馈,其中有关网络传输慢和连接有问题的结果占到一部分,这十分影响来...

  • 移动端开发的网络优化

    感谢作者:Trinea 转载于:http://b.codekk.com/blogs/detail/55538870...

  • ios - 收藏集 - 掘金

    天弘基金移动 App 客户端架构优化之路 - iOS - 掘金天弘基金移动App客户端架构优化之路 随着移动互联网...

  • 移动端网络优化,打游戏时网不好,坑的不是我,是对友

    介绍 针对移动端的网络优化,不限于 Android,同样适用于 iOS 和 H5。 一个网络请求可以简单分为连接服...

  • 移动端网络优化

    转自 http://www.trinea.cn/android/mobile-performance-optimi...

  • 移动端网络优化

    http://www.trinea.cn/android/mobile-performance-optimizat...

  • 移动端网络优化

    介绍下针对移动端的网络优化,不限于 Android,同样适用于 iOS 和 H5。 一个网络请求可以简单分为连接服...

  • 移动端网络优化

    移动端网络优化 性能优化实例 一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。 其中连接服务器前还包括...

  • 4. 移动端适配相关概念

    1. 什么是移动端适配? 移动端开发目前主要包括三类: 原生App开发(iOS、Android、RN、uniapp...

  • Android&iOS

    一 简述 同为移动客户端,Android&iOS有着许多相似的地方,客户端开发的主要工作为界面编写,数据存储,网络...

网友评论

      本文标题:iOS开发移动端网络优化的几点建议

      本文链接:https://www.haomeiwen.com/subject/lonfmqtx.html