一、流量测试,同样需要引入几个名词
▪ 低负荷:应用程序后台运行
▪ 中等负荷:应用正常操作
▪ 高负荷:应用极限操作
二、流量测试包括以下测试项:
▪ 应用首次启动流量提示
▪ 应用后台连续运行 2 小时的流量值
▪ 应用高负荷运行的流量峰值
▪ 应用中等负荷运行时的流量均值
三、流量测试方法
1.采用市场提供的第三方工具来进行测试,如流量宝之类的
2、自己开发工具 (1) android有一个TrafficStats类可以直接获取总接受流量TrafficStats.getTotalRxBytes(),
总发送流量TrafficStats.getTotalTxBytes());
不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes());
不包含Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes());
某一个进程的总接收量TrafficStats.getUidRxBytes(Uid));
某一个进程的总发送量TrafficStats.getUidTxBytes(Uid));
这些都是从一次开机到一次关机的统计量。
所以,做某一个程序的流量统计的时候,一定要注意开关机,和本次开机后是第几次启动本程序。
(2)使用adb 命令
上面的TrafficStats类前四个读取的/proc/net/dev里面的数据
后面的某一个进程的流量统计的是/proc/uid_stat/uid/XXX 里面的 数据
首先获得被测应用的uid信息,可以通过adb shell dumpsys package XXX来获取。
然后在未操作应用之前,我们可以通过查看,
adb shell cat /proc/uid_stat/uid/tcp_rcv
adb shell cat /proc/uid_stat/uid/tcp_snd
获取到应用的起始的接收及发送的流量,然后我们再操作应用,再次通过上述 2 条命令可以获取到应用的结束的接收及发送的流量,通过相减及得到应用的整体流量消耗
现在google给的类库只能读取某app的本次开机发送流量和接受流量。
里面包含wifi和gprs。。