Android性能测试

FPS和流畅度

FPS

1.dumpsys SurfaceFlinger –latency shell 脚本通过 dumpsys SurfaceFlinger --latency 数据计算 FPS 和评价流畅度

2.dumpsys gfxinfo <PACKAGE_NAME> FPS 计算方法的比较

3.dumpsys gfxinfo <PACKAGE_NAME> framestats M版本新增,测试显示性能-基于Android M 开发者预览版

流畅度(SM: SMoothness)

和丢帧相对,在VSync机制中1s内Loop运行的次数。

那些年我们用过的显示性能指标 可用腾讯GT工具

内存

1.dumpsys  meminfo  <PACKAGE_NAME> or <Pid>

2.procrank(/system/xbin/procrank)

3.ActivityManager的getMemoryInfo(ActivityManager.MemoryInfo outInfo) 或者 getProcessMemoryInfo(memPid)

参考文章Android 性能测试实践(一)

CPU

1.dumpsys cpuinfo |grep <PACKAGE_NAME>

2.top -n 1| grep <PACKAGE_NAME>

3.cat /proc/<Pid>/stat

参考文章Android 性能测试实践(三)Cpu

流量

1.cat /proc/<Pid>/net/dev wlan0那行输出

2.首先cat /proc/<pid>/status获取uid(PackageManager.getApplicationInfo("PackageName", PackageManager.GET_ACTIVITIES).uid),再cat /proc/net/xt_qtaguid/stats | grep uid。其中第6和8列为 rx_bytes(接收数据)和tx_bytes(传输数据)包含tcp,udp等所有网络流量传输的统计。
一个uid可能对应多个进程,所以这有两行流量是累加的就求和就行。

3.TrafficStats类:

获取总接受流量TrafficStats.getTotalRxBytes(),
获取总发送流量TrafficStats.getTotalTxBytes());
获取不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes());
获取不包含Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes());
统计某一个进程的总接收量TrafficStats.getUidRxBytes(Uid));
统计某一个进程的总发送量TrafficStats.getUidTxBytes(Uid));

参考文章Android 性能测试实践(四) 流量随手记之Android网络调试简要记录

Android性能相关文章:Android性能优化典范 - 第1季第2季第3季第4季第5季Android界面性能调优手册Android UI性能优化详解

可选用工具:网易Emmagee(比较久未更新),腾讯APT(Eclipse插件)、GT,阿里移动易测

posted on 2016-05-07 11:00  农夫山药  阅读(1917)  评论(0编辑  收藏  举报