1-性能分析-android-systrace
- 一:Systrace简介
- 二: Systrace 简单使用
- 1> Systrace.py 介绍
- 1. Systrace.py -h
- 2. 常用参数
- 2> 查看TAG
- 三:systrace html 线程状态查看
- 1> 线程状态-绿色 : 运行中(Running)
- 2> 线程状态-蓝色 : 可运行(Runnable)
- 3> 线程状态-白色 : 休眠中(Sleep)
- 4> 线程状态-橘色 : 不可中断的睡眠态 (Uninterruptible Sleep - IO Block)
- 5>线程状态- 紫色 : 不可中断的睡眠态(Uninterruptible Sleep)
- 四:线程唤醒信息分析
- 1> 执行时间很长或等待锁释放
- 2> 查看主线程block情况
- 3> 常见的进程状态
- 五:信息区数据解析
- 1> 快捷键使用
- 2> 线程状态信息解析
- 3> 函数 Slice 信息解析
- 4> Counter Sample 信息解析
- 5> Async Slice 信息解析
- 6> CPU Slice 信息解析
- 7> User Expectation 信息解析
- 补充 -性能分析-android-FPS
一:Systrace简介
systrace是Android4.1版本之后推出的,对系统Performance分析的工具。可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。
systrace的功能包括跟踪系统的I/O操作、内核工作队列、CPU负载以及Android各个子系统的运行状况等。在Android平台中,
它主要由3部分组成:
内核部分:Systrace利用了Linux Kernel中的ftrace功能。所以,如果要使用systrace的话,必须开启kernel中和ftrace相关的模块。
数据采集部分:Android定义了一个Trace类。应用程序可利用该类把统计信息输出给ftrace。同时,Android还有一个atrace程序,它可以从ftrace中读取统计信息然后交给数据分析工具来处理。
数据分析工具:Android提供一个systrace.py(python脚本文件,位于Android SDK目录/sdk/platform-tools/systrace中,其内部将调用atrace程序)用来配置数据采集的方式(如采集数据的标签、输出文件名等)和收集ftrace统计数据并生成一个结果网页文件供用户查看。从本质上说,Systrace 是对 Linux Kernel中 ftrace 的封装。应用进程需要利用 Android 提供的 Trace 类来使用 Systrace
二: Systrace 简单使用
1> Systrace.py 介绍
Systrace.py在 Android-SDK 目录下的 platform-tools 里面 ;android-sdk/platform-too