app网络优化

作者: 朱_c713 | 来源:发表于2020-03-12 07:00 被阅读0次

    虽然网络大环境在整体变好,但是由于我们的app用户量基数大,分布地域广泛。还是会存在网络4g信号差等情况出现。动网络的质量/带宽经常会发生“跳变”,但有线网络却是“渐变”。更加使网络优化显得必要

    一. 程序在网络方面表现差带来的问题:

    1) 网络耗费

    过多没有经过处理的网络请求,会消耗用户的流量。Android手机有专门查看的系统入口,或者第三方软件,对流量敏感的用户会经常查看。如果app流量耗费大,用户可能选择卸载。

    2)电量耗费

    电量也是比较紧缺的资源,与上面类似,电量敏感的用户,可能会选择卸载应用。

    3) 应用等待

    网络处理表现不好的app,可能产生更多的用户等待,耗费用户耐心,最终损伤品牌价值,卸载应用。

    二. 网络监控

    2.1. Network Monitor

    Android Studio自带的Network Monitor简单直观,可以看出时间段之内的网络请求数量及访问速率。 我的应用在刚打开的时候,箭头特别高,值得关注。


    image.png

    香槟色的是发送,蓝色的是接收

    2.2. Fiddler,Charles等抓包工具

    使用Charles、Fiddler等抓包工具同样可以实现Network Monitor的功能,而且更加强大。

    2.3 Stetho

    Stetho是Facebook出品的一个Android应用的调试工具。无需Root即可通过Chrome,在Chrome Developer Tools中可视化查看应用布局,网络请求,sqlite,preference等。同样集成了Stetho之后也可以很方便的查看网络请求的各种情况。

    三. 优化操作

    分析可能带来的后果,我们可以从三个方面着手:1. 速度;2. 成功率;3. 流量。

    1)Gzip压缩

    Gzip压缩好像是默认的请求都采用这种形式,在http请求头里已经被默认添加了这个设置。

    2)采用ip直连

    DNS解析的失败率占联网失败中很大一种,而且首次域名解析一般需要几百毫秒。ip直连,不通过dns解析器,直接访问到我们的服务器,节省下这部分开销。

    3)使用webp格式的图片

    采用WebP格式可大幅节省流量,相对于JPG格式的图片,流量能节省将近 25% 到 35 %;相对于 PNG 格式的图片,流量可以节省将近80%。最重要的是使用WebP之后图片质量也没有改变。
    这个工作一般需要服务端做。

    4 ) 图片上传

    • 避免整个文件传输,分片传输
    • 根据网络状态,调整分片大小
    • 失败后可以重新上传

    5) 使用更高版本的协议

    http2.0实现了更多功能,例如:“多工”、头信息压缩、服务器推送等特性
    理论上讲,更优,有条件可以采用。

    6)请求打包

    合并网络请求,减少请求次数。

    7)网络缓存

    对服务端返回数据进行缓存,设定有效时间,有效时间之内不走网络请求,减少流量消耗。也可以使用自定义缓存,这点okhttp开源框架已经做进去,可以学习具体的使用。

    8) 采用更精简的数据交换格式

    json之所以被广泛采用原因是他的大括号的方式,很清晰,响应的也比较成熟。但是他也说明只要我们能够区分数据接口,完全是可以自定义字符串的类型。大括号,中括号,引号本身也是占用流量的。可以直接使用我们和服务器约定的格式比如:就是一串字符串,通过“#”分割。
    也可以了解:google推出的:Protocol Buffer

    9)避免客户端的轮询,而使用服务器推送的方式

    参考文献:
    《Android 高性能变编程》【西班牙】Enrique López Mañas(恩里克·洛佩斯·马尼亚斯),【意】Diego Grancini (迪戈·格兰奇尼)著叶坤 译

    《Kotlin实战》【俄】Dmitry Jemerov Svetlana Isakova 著 覃宇 罗丽 李思阳 蒋扬海 译
    《重构改善既有代码设计》【美】马丁福勒(MartinFowler)著 熊节 林从羽译
    《Android移动性能实战》 腾讯SNG专项测试团队 著
    安卓包的优化
    内存占用优化
    app渲染优化
    掌握多线程使用
    app网络优化

    相关文章

      网友评论

        本文标题:app网络优化

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