@linux1s1s
2016-12-12T17:46:27.000000Z
字数 1748
阅读 1786
Tools
2016-12
Google Android Tool Time 一下就会在YouTube上出现每个Android Studio的新版本Tool特性,这个系列博客打算从里面撸出来一些干货
系列博客使用的Tools:
Android性能分析工具整理汇总可以参考这篇博文,概括的比较全,这里关注Traceview、Systrace
如何使用即可。
Systrace
能检测android系统各个组件随着时间的运行状态,并能提示该如何有效地修复问题
该工具在SDK中已经提供好了如图:
所以cmd
到这个目录下,然后运行一下systrace.py,注意python要2.x版本的,否则容易报错。
python systrace.py [options] [category1] [category2] ... [categoryN]
options | 说明 |
---|---|
-o | 输出的目标文件 |
-t N, –time=N | 执行时间,默认5s |
-b N, –buf-size=N | buffer大小(单位kB),用于限制trace总大小,默认无上限 |
-k <>,–ktrace=<> | 追踪kernel函数,用逗号分隔 |
-a <>,–app=<> | 追踪应用包名,用逗号分隔 |
–from-file=<> | 从文件中创建互动的systrace |
-e <>,–serial=<> | 指定设备 |
-l, –list-categories | 列举可用的tags |
这里仅仅列举了部分的参数说明。
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 |
app | Application |
res | Resource Loading |
dalvik | Dalvik VM |
rs | RenderScript |
bionic | Bionic C Library |
power | Power Management |
sched | CPU Scheduling |
freq | CPU Frequency |
输出全部的trace信息
python systrace.py -b 32768 -t 5 -o mtrace.html gfx input view webview wm am sm audio video camera hal app res dalvik rs bionic power sched irq freq idle disk mmc load sync workq memreclaim regulators
输出常规的信息
python systrace.py -b 32768 -t 5 -o mtrace.html wm gfx input view sched freq
上面的命名执行完成以后会在systrace.py
所在目录中生成mtrace.html
文件,这个文件只能通过chrome
打开以后如图:
至于如何分析上面潜在的问题,后续博文会继续跟进,这里按下不表。
开始traceView最简单的途径是通过DDMS,当然也可以通过代码精准控制需要trace的地方。这里以DDMS为示例。
接着在DDMS中选择一个目标进程,然后点击Start Method Profiling
按钮如下:
此时右上角红色图标会变成黑色图标,表示traceView
已经开启,然后我们就可以在某个特定界面操作以期获取当前操作下的分析图标,等操作结束以后,我们再次点击上面的按钮结束trace,DDMS会自动生成.trace
文件如下:
对于该文件如何分析问题,后续博文会继续跟进,这里按下不表。
系列博文