[关闭]
@linux1s1s 2016-12-12T17:46:27.000000Z 字数 1748 阅读 1786

Tool Time-Performance Analysis

Tools 2016-12


Google Android Tool Time 一下就会在YouTube上出现每个Android Studio的新版本Tool特性,这个系列博客打算从里面撸出来一些干货

简要说明

系列博客使用的Tools:

Android性能分析工具整理汇总可以参考这篇博文,概括的比较全,这里关注Traceview、Systrace如何使用即可。

Systrace

What(是什么)

Systrace 能检测android系统各个组件随着时间的运行状态,并能提示该如何有效地修复问题

How(如何使用)

该工具在SDK中已经提供好了如图:
此处输入图片的描述

所以cmd到这个目录下,然后运行一下systrace.py,注意python要2.x版本的,否则容易报错。

命令行
  1. python systrace.py [options] [category1] [category2] ... [categoryN]
options
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

这里仅仅列举了部分的参数说明。

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
Example

输出全部的trace信息

  1. 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

输出常规的信息

  1. python systrace.py -b 32768 -t 5 -o mtrace.html wm gfx input view sched freq

mtrace.html

上面的命名执行完成以后会在systrace.py所在目录中生成mtrace.html文件,这个文件只能通过chrome打开以后如图:

此处输入图片的描述

至于如何分析上面潜在的问题,后续博文会继续跟进,这里按下不表。

Traceview

开始traceView最简单的途径是通过DDMS,当然也可以通过代码精准控制需要trace的地方。这里以DDMS为示例。
此处输入图片的描述

接着在DDMS中选择一个目标进程,然后点击Start Method Profiling按钮如下:

此处输入图片的描述

此时右上角红色图标会变成黑色图标,表示traceView已经开启,然后我们就可以在某个特定界面操作以期获取当前操作下的分析图标,等操作结束以后,我们再次点击上面的按钮结束trace,DDMS会自动生成.trace文件如下:

此处输入图片的描述

对于该文件如何分析问题,后续博文会继续跟进,这里按下不表。

系列博文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注