Systrace测试应用帧率
Systrace工具位于Android sdk platform-tools目录下:platform-tools\systrace\systrace.py
命令行Systrace 抓取的语法如下:
python systrace.py [options] [category1 [category2 ...]]
示例:python systrace.py -b 32768 -t 15 gfx input view sched freq
1.配置python环境
安装python 2.7版本并配置好环境变量
pip install pypiwin32
pip install six
2.脚本命令的主要参数项
| options | 描述 |
| -h, --help | 显示帮助信息 |
| -o < FILE > | 输出的目标文件 |
| -j, --json | 输出JSON文件 |
| -e DEVICE_SERIAL_NUMBER, --serial=DEVICE_SERIAL_NUMBER | 指定设备 |
| --target=TARGET | 选择追踪的对象(Android 或 Linux) |
| --timeout=TIMEOUT | 启动或停止追踪的超时时间(单位秒) |
| --collection-timeout=COLLECTION_TIMEOUT | 数据采集的超时时间(单位秒) |
| -t N, –time=N | 执行时间,默认5s |
| -b N, –buf-size=N | buffer大小(单位kB),用于限制trace总大小,默认无上限 |
| -l, –list-categories | 列举可用的类别 |
| -k < KFUNCS >,–ktrace=< KFUNCS > | 追踪kernel函数,用逗号分隔 |
| -a < APP_NAME >,–app=< APP_NAME > | 追踪应用包名,用逗号分隔 |
| –from-file=< FROM_FILE > | 从文件中创建互动的systrace |
3. category可取值
| category | 解释 |
| gfx | Graphics |
| input | Input |
| view | View System |
| webview | WebView |
| wm | Window Manager |
| am | Activity Manager |
| sm | Sync Manager |
| audio | Audio |
| video | Video |
| camera | Camera |
| hal | Hardware Modules |
| res | Resource Loading |
| dalvik | Dalvik VM |
| rs | RenderScript |
| bionic | Bionic C Library |
| power | Power Management |
| pm | Package Manager |
| ss | System Server |
| database | Database |
| network | Network |
| adb | ADB |
| vibrator | Vibrator |
| aidl | AIDL calls |
| nnapi | NNAPI |
| rro | Runtime Resource Overlay |
| pdx | PDX services |
| sched | CPU Scheduling |
| irq | IRQ Events |
| freq | CPU Frequency |
| idle | CPU Idle |
| disk | Disk I/O |
| mmc | eMMC commands |
| load | CPU Load |
| sync | Synchronization |
| memreclaim | Kernel Memory Reclaim |
| binder_driver | Binder Kernel driver |
| binder_lock | Binder global lock trace |
| memory | Memory |
| thermal | Thermal event |
| gfx | Graphics (HAL) |
| ion | ION allocation (HAL) |
4. 连接你的Android设备
5. 命令行下执行:python <systrace.py所在路径> -o <输出的文件> sched gfx view -a <要追踪的应用包名>
6. 使用要追踪的应用
7. 在终端命令输入"enter"停止追踪
8. 输出的trace文件生成
9. 启动Chrome浏览器,输入chrome://tracing/,再点击左上角的”Load”按钮以加载上一步生成的trace文件
10. 左侧面板切换到Frames,右边显示许多”F”:红色和橙色”F”代表不好即60fps未达到,绿色”F”代表正常。
浙公网安备 33010602011771号