adb性能测试命令

一.CPU性能监控

1.1查看所有进程CPU使用率

bash 复制代码
adb shell top -n 1

其中-n 1表示只执行一次(非实时),结果中的%CPU列显示各进程CPU占用率

1.2 查看特定应用的CPU使用率

bash 复制代码
adb shell top -n 1 | grep <package>

替换<PACKAGE_NAME> 为应用包名 (如com.example.app)

1.3 获取应用 CPU 使用率百分比

bash 复制代码
adb shell dumpsys cpuinfo | grep <package_name>

输出包含TOTAL字段,显示应用占用的CPU时间百分比

二.内存性能监控

2.1 查看系统内存总体使用情况

bash 复制代码
adb shell free

显示总内存、已用内存、空闲内存等信息

2.2 查看应用内存占用(PSS 值)

bash 复制代码
adb shell dumpsys meminfo <PACKAGE_NAME>

PSS(Proportional Set Size)是应用实际占用的物理内存

2.3 获取应用堆内存信息

bash 复制代码
adb shell dumpsys meminfo <PACKAGE_NAME> | grep "Heap"

关注Heap Size(堆总大小)和Heap Alloc(已分配堆内存)

三.网络性能监控

3.1 查看应用网络流量

bash 复制代码
adb shell cat /proc/net/xt_qtaguid/stats | grep <UID>

显示所有网络连接状态(TCP/UDP)

3.2 使用netstat查看网络连接

bash 复制代码
adb shell netstat

3.3 测试网络延迟(ping)

bash 复制代码
adb shell ping -c 5 www.google.com

-c 5表示发送 5 个数据包

四.电量消耗监控

4.1 启用电池统计

bash 复制代码
adb shell dumpsys batterystats --reset
# 执行测试操作后...
adb shell dumpsys batterystats > batterystats.txt

分析batterystats.txt文件可查看应用耗电情况

4.2 获取电池当前状态

bash 复制代码
adb shell dumpsys battery

显示电池电量、温度、状态(充电 / 放电)等

五.GPU性能监控

5.1 启用 GPU 呈现模式分析

bash 复制代码
adb shell setprop debug.hwui.profile true
adb shell dumpsys gfxinfo <PACKAGE_NAME>

输出包含每帧渲染时间,用于分析 UI 卡顿问题

5.2 查看 GPU 渲染直方图

bash 复制代码
adb shell dumpsys gfxinfo <PACKAGE_NAME> framestats

生成详细的帧统计数据

六.综合性能分析

6.1 使用 systrace(需 Python 环境)

bash 复制代码
# 在PC上执行
python <ANDROID_SDK>/platform-tools/systrace/systrace.py -t 10 -a <PACKAGE_NAME> gfx view wm am pm

生成 HTML 格式的系统性能跟踪报告(包含 CPU、GPU、UI 等)

自动化性能测试脚本示例

以下是一个简单的 Shell 脚本,用于循环采集应用的 CPU 和内存数据:

bash 复制代码
#!/bin/bash

PACKAGE="com.example.app"
OUTPUT_FILE="performance_data.csv"
INTERVAL=5  # 采样间隔(秒)
DURATION=300  # 总测试时长(秒)

echo "Time,CPU(%),Memory(KB)" > $OUTPUT_FILE

for ((i=0; i<$DURATION; i+=$INTERVAL)); do
    TIMESTAMP=$(date +%H:%M:%S)
    CPU=$(adb shell top -n 1 | grep $PACKAGE | awk '{print $9}')
    MEM=$(adb shell dumpsys meminfo $PACKAGE | grep TOTAL | awk '{print $2}')
    
    echo "$TIMESTAMP,$CPU,$MEM" >> $OUTPUT_FILE
    sleep $INTERVAL
done

echo "性能数据已保存至: $OUTPUT_FILE"

将上述脚本保存为perf_test.sh,修改PACKAGE为目标应用包名,然后执行:

bash 复制代码
chmod +x perf_test.sh
./perf_test.sh

注意事项

  • 需先将设备通过 USB 连接电脑并开启 USB 调试模式
  • 部分命令需要设备 Root 权限
  • 长时间测试建议使用电池充电器供电
  • 测试时尽量关闭其他无关应用以减少干扰
相关推荐
misty youth2 天前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
for_ever_love__3 天前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
yeflx4 天前
Ubuntu22.04安装Mysql Workbench
数据库·mysql·adb
夜雪一千4 天前
MySQL 自增 ID 的底层原理与坑点
android·mysql·adb
Dxy12393102165 天前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
远方 hi5 天前
MySQL 管理
adb
夜雪一千6 天前
MySQL 删除 JSON 类型的数据实战
mysql·adb·json
千码君20167 天前
个人开发者:安卓手机adb调试
android·adb·智能手机
夜雪一千8 天前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb