移动测试基础 移动端性能测试方法总结

查看CPU占用率
1、使用命令adb shell top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)

2、通过proc获取CPU信息。
adb shell cat /proc/stat | grep cpu > totalcpu0

3、Android Studio自带CPU检测功能

耗电测试:

1、PowerStat

2、电量的测试方法(adb shell dumpsys batterystats)
1)首先要初始化batterystats数据
adb shell dumpsys batterystats --reset
2)上面的操作执行完毕后,拔掉手机,操作你的App,操作完成后,重新连接手机,执行下面的命令,收集Battery数据:
adb shell dumpsys batterystats > batterystats.txt

3、PowerTutor

流畅度测试:

1、Android Studio自带GPU测试功能
2、FPS Meter
3、系统自带功能,GPU呈现模式分析

流量测试:
1、Android Studio自带流量检测功能
2、tcpdump+Wireshark抓包测试法
在App运行期间,把手机收发的所有报文度抓取下来,再计算收发报文总大小,即App消耗的流量。

内存测试:
1、adb shell dumpsys meminfo 或adb shell dumpsys meminfo
2、Android Studio中对应进程的Heap
3、内存泄露工具 LeakCanary

cpu端:
手机根目录下有个proc文件夹,里面会存放一些内存的信息。每个应用对应一个文件夹,文件夹的名称就是应用的pid。该文件夹下面会有一个stat文件,里面会存放些应用的运行信息。
对整个手机,proc下同样有一个stat文件,里面有存放了类似的信息,
计算cpu占用时,使用的公式为:(B-A)/(TB-TA)*100,其中A为被测应用第一次获取到的cpu情况,B为A间隔500毫秒后再次获取到cpu情况,TA为整个手机的cpu情况,TB为TA间隔500毫秒后再次获取到的cpu情况。当前应用有多个进程时,所得的cpu占用为多个进程的cpu占用和。

内存端:
android sdk提供了getTotalPss()的接口获取指定pid的内存占用。应用有多个进程时,总的内存占用为多个进程的pss值之和。

网络流量:
android sdk提供了TrafficStats.getUidTxBytes(uid),TrafficStats.getUidRxBytes(uid)两个接口去获取指定应用的流量使用情况。

耗电:
dumpsys batterystats命令里面会输出各个应用的耗电情况,但该命令对手机的系统版本有要求,且应用内使用时需要有root权限。

原文地址:https://www.cnblogs.com/6J2B2/p/13025725.html