更新时间:2023.02.03 10:30:23
SimplePerf是NDK软件包中提供的一种多功能Android原生CPU评测工具,可以用于分析Android应用程序和运行在Android上的本地进程,可以分析Android上的Java和C++代码。
单击右上角doctor,进入诊断页面。
单击Android > NDK工具链,会自动发现和配置本地NDK Location。
未自动配置,或者用户需要手动指定时,单击自定义ANDROID_NDK路径进入自定义ANDROID_NDK路径页面,输入自定义路径,然后单击确定。
推荐下载:NDK_r20b(20.1.5948944)版本,已兼容适配,其它版本不确定。
进入SimplePerf功能前会自动进行一系列与运行时env相关的必要检查,节点不通过时红色显示,开始按钮置灰不可单击。env检查通过,开始按钮亮起,可单击进行后续操作。每个节点检查不通过时,都有对应的“刷新”操作。各检测项说明如下:
设备及连接性检查【强】:Android设备、并已正常连接到PC端
App选择【强】:选取Android应用
ADB环境是否正常【强】:正常
NDK环境是否正常【强】:正常
SimplePerf环境是否正常【强】:正常
App应用是否支持Debug/Profile【强】:支持
选择进程。
同性能测评、dumpHeap功能一样,会自动选择好当前进程,用户无需干预。
填写最大Trace时间。
单位:秒。默认:10s,最小5s,最大600s。
单击启动,向端侧发起record命令,采集数据。
采集期间会给出状态、错误、或进度等提示。
基本信息区域参数解释如下:
参数 | 说明 |
---|---|
Cmdline | 端侧命令 |
Arch | CPU架构类型 |
Event | 事件 |
Samples | 样本数量 |
EventCount | 事件数量 |
函数列表中参数解释如下:
参数 | 说明 |
---|---|
OverHead | 函数耗时占比 |
Command | 指令 |
Pid | 进程ID |
Tid | 线程ID |
SharedObject | 共享对象 |
Symbol | 符号相关 |
列表通用功能:翻页、字段排序、搜索过滤筛选、重置筛选、空页面等
注意
发析时需要python环境(推荐python 3),并已配置好环境变量,确保命令行里能执行python指令。Mac一般自带,Windows可能需要手动安装。
单击查看分析结果发起数据分析,loading持续若干秒(一般5-10s,视数据记录大小可能loading时间较长)后给出分析结果,会自动跳转到浏览器里打开report.html。
Function指定函数和线程的caller/callee双向聚合图。
同dumpHeap功能类似,可上传perf.data原始文件,分析生成结果