当前位置: 首页 > news >正文

adb性能测试命令

一.CPU性能监控

1.1查看所有进程CPU使用率

adb shell top -n 1

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

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

adb shell top -n 1 | grep <package>

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

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

adb shell dumpsys cpuinfo | grep <package_name>

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

二.内存性能监控

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

adb shell free

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

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

adb shell dumpsys meminfo <PACKAGE_NAME>

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

2.3 获取应用堆内存信息

adb shell dumpsys meminfo <PACKAGE_NAME> | grep "Heap"

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

三.网络性能监控

3.1 查看应用网络流量

adb shell cat /proc/net/xt_qtaguid/stats | grep <UID>

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

3.2 使用netstat查看网络连接

adb shell netstat

3.3 测试网络延迟(ping)

adb shell ping -c 5 www.google.com

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

四.电量消耗监控

4.1 启用电池统计

adb shell dumpsys batterystats --reset
# 执行测试操作后...
adb shell dumpsys batterystats > batterystats.txt

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

4.2 获取电池当前状态

adb shell dumpsys battery

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

五.GPU性能监控

5.1 启用 GPU 呈现模式分析

adb shell setprop debug.hwui.profile true
adb shell dumpsys gfxinfo <PACKAGE_NAME>

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

5.2 查看 GPU 渲染直方图

adb shell dumpsys gfxinfo <PACKAGE_NAME> framestats

生成详细的帧统计数据

六.综合性能分析

6.1 使用 systrace(需 Python 环境)

# 在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 和内存数据:

#!/bin/bashPACKAGE="com.example.app"
OUTPUT_FILE="performance_data.csv"
INTERVAL=5  # 采样间隔(秒)
DURATION=300  # 总测试时长(秒)echo "Time,CPU(%),Memory(KB)" > $OUTPUT_FILEfor ((i=0; i<$DURATION; i+=$INTERVAL)); doTIMESTAMP=$(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_FILEsleep $INTERVAL
doneecho "性能数据已保存至: $OUTPUT_FILE"

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

chmod +x perf_test.sh
./perf_test.sh

注意事项

  • 需先将设备通过 USB 连接电脑并开启 USB 调试模式
  • 部分命令需要设备 Root 权限
  • 长时间测试建议使用电池充电器供电
  • 测试时尽量关闭其他无关应用以减少干扰
http://www.lryc.cn/news/590687.html

相关文章:

  • 【知识图谱】Neo4j桌面版运行不起来怎么办?Neo4j Desktop无法打开!
  • Python18 —— 文件的写入
  • 大模型 认知能力 生物学启发
  • oracle会话控制和存储状态查询
  • Swift6.0基础知识 -- 可选2
  • 万字长文解析 OneCode3.0 AI创新设计
  • Linux Java环境配置
  • 达梦数据库配置兼容MySQL
  • Mermaid 语法全解析:从基础到高级可视化
  • 网络基础10 长途互联--WAN广域网技术
  • 多维动态规划题解——最小路径和【LeetCode】记忆化搜索翻译为递推写法
  • Cursor区域限制问题解决方案:AI模型访问技术突破与环境隔离实践
  • DeepSeek(18):SpringAI+DeepSeek大模型应用开发之会话日志
  • 6.删除-demo
  • Lsposed/Xposed
  • MySQL学习——面试版
  • C++ shared_ptr 底层实现分析
  • 元宇宙经济:虚实融合引发经济新变革
  • XC7A75T‑2FGG484I Xilinx Artix‑7 FPGA AMD
  • 图机器学习(9)——图正则化算法
  • 第13章 AB实验平台的建设
  • Qt 的信号槽机制中,使用 `connect` 函数时,第五个参数是 **连接类型(Connection Type)**,
  • 代码随想录算法训练营第二十二天
  • 2.PCL 对于点云的读写
  • 《python语言程序设计》2018版第8章5题编写函数统计特定不重复字符串s2在s1中的出现次数
  • lua(xlua)基础知识点记录一
  • 基于阿里云云服务器-局域网组网软件
  • 低精度定时器 (timer_list) 和 高精度定时器 (hrtimer)
  • 如何加快golang编译速度
  • VIVADO技巧_BUFGMUX时序优化