分析参数
发送流量、接收流量
流量统计方法
- 抓包:干扰因素多,其他APP、
- 安卓自带TCP收发长度统计功能
#找到包名
adb shell pm list packsges -3
#找到UID
adb shell ps | grep <包名>
#找到目录
adb shell cat /proc/9045<uid>/status
#流量统计收、发【流量使用前后各统计一次,做差】
adb shell cat /proc/uid_stat/10038/tcp_rcv
adb shell cat /proc/uid_stat/10038/tcp_snd
#执行下面命令,第6列、第8列分别问接收、传输流量[单位byte]
adb shell cat /proc/net/xt_qtaguid/stats |grep 10040
顾名思义,只抓取TCP相关的流程,UDP无法统计
特殊的:对于Android 6.0 以下的版本可以统计TCP、UDP两者的流量。
- 第三方工具
网络流量测试目的与策略
目的:监控APP以各种形式接收、传输流量的行为,对比同类产品、数据评估、请求与传输APP包分析,达到优化流量使用的目的。分析方向:面向整个APP的包大小、报文协议、更新机制、配置机制、心跳机制,后台服务耗费流量方向进行流量的测试及分析。
测试策略
- 页面流量测试
- 切换至后台运行时流量测试:CPU空闲时,停留在主界面不退出,打开网络然后锁屏,24小时后查看流量变化
- 随机流量测试
耗费流量的场景
1.用户实际操作实现APP基本网络请求
2.推送服务
3.心跳机制
4.轮询机制
5.热更新
6.配置定时执行
优化流量使用的几个着手点
1.检查是否有重复资源请求–产品、开发两方面考虑
2.是否需要做网络缓存
3.响应数据是否冗余
4.图片视频资源数据是否压缩上传、资源的处理
5.资源的加载是否合理
6.网络请求方面:是否合并网络请求,减少请求次数
7.轮询还是推送
8.更新机制:增量还是全量
9.不同网络下(wifi 4G):数据部分拉取还是全部拉取
10.不同网络下(wifi 4G):用户友好提示,是否继续播放之类的
参考文章:
流量统计的三种方法
安卓自身提供的TCP收发长度统计功能