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 网络优化概述

    移动 APP 网络优化概述 移动 APP 网络优化概述

  • Android性能优化

    1.App启动优化2.App布局优化3.App内存优化4.App卡顿优化5.App线程优化6.App网络优化7.A...

  • 网络优化实践探索文章

    携程App的网络性能优化实践 2016年携程App网络服务通道治理和性能优化实践 蘑菇街App Chromium网...

  • iOSAPP性能优化

    简述总结:界面优化(Cpu5处——Gpu4处)——网络优化(耗电)——定位优化——APP冷启动优化——APP内存优...

  • App网络优化

    网络优化工具选择 ![图片.png](https://upload-images.jianshu.io/uploa...

  • app网络优化

    虽然网络大环境在整体变好,但是由于我们的app用户量基数大,分布地域广泛。还是会存在网络4g信号差等情况出现。动网...

  • Android应用的性能优化

    应用性能的优化主要包括以下几个方面: App启动优化 布局优化 响应优化 内存优化 电池使用优化 网络优化 1.A...

  • DNS 支持 TCP 和 UDP 双协议,但为何偏偏只钟情 UD

    一、前言 之前在聊到 App 网络优化时,聊到通过 HTTPDNS 替换掉传统的 DNS 解析,来达到网络优化的效...

  • 移动App网络优化

  • 移动app网络优化

    移动app网络优化的三个切入点:速度、弱网、网络安全 本章主要讲如何优化网络请求速度。弱网和网络安全都是轻描淡写,...

网友评论

    本文标题:app网络优化

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