Android atrace使用说明(Android sdk中的systrace)

转载请注明原文地址:http://bcoder.com/java/android-atrace-systrace-usage-instruction

1. 普通使用

1

atrace -a com.jeoe.ebox gfx wm am sched view app res ss

这样会把结果输出到控制台,对分析没什么意义,可以用于测试这个命令

2. 抓trace并保存到文件

1

atrace -a com.jeoe.ebox gfx wm am sched view app res ss -o /sdcard/a.trace

这样会把分析文件输出到/sdcard/a.trace文件

将a.trace文件导出到电脑,然后使用sdk下的systrace.py程序将分析结果生成html文件,命令如下:

1

python systrace.py --from-file ~/a.trace -o ~/a.htm

–from-file 参数表明从文件读入分析数据

~/a.trace 源数据文件

-o ~/a.html 指定输出文件路径

3. 循环抓取

4. atrace帮助内容

Shell

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

usage: atrace [options] [categories...]

options include:

-a appname      enable app-level tracing for a comma separated list of cmdlines

-b N            use a trace buffer size of N KB

-c              trace into a circular buffer

-f filename     use the categories written in a file as space-separated

values in a line

-k fname,...    trace the listed kernel functions

-n              ignore signals

-s N            sleep for N seconds before tracing [default 0]

-t N            trace for N seconds [default 5]

-z              compress the trace dump

--async_start   start circular trace and return immediately

--async_dump    dump the current contents of circular trace buffer

--async_stop    stop tracing and dump the current contents of circular

trace buffer

--stream        stream trace to stdout as it enters the trace buffer

Note: this can take significant CPU time, and is best

used for measuring things that are not affected by

CPU performance, like pagecache usage.

--list_categories

list the available tracing categories

-o filename      write the trace to the specified file instead

of stdout.

5. 允许的categories

执行下面命令可以看到atrace允许追踪的category

1

atrace --list_categories

下面是笔者附上来的列表

Shell

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

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

pm - Package Manager

ss - System Server

database - Database

network - Network

adb - ADB

pdx - PDX services

sched - CPU Scheduling

irq - IRQ Events

i2c - I2C Events

freq - CPU Frequency

idle - CPU Idle

disk - Disk I/O

mmc - eMMC commands

workq - Kernel Workqueues

regulators - Voltage and Current Regulators

binder_driver - Binder Kernel driver

binder_lock - Binder global lock trace

pagecache - Page cache

6. 在自己的程序中加入trace代码

系统版本大于等于Android 4.3 (API18)以上的才可以用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import android.content.Intent

import android.os.Build

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.os.Trace

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {

Trace.beginSection("aaabbbcccddd")

};

     //*************您的代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {

Trace.endSection();

};

}

}

Android atrace使用说明(Android sdk中的systrace)相关推荐

  1. android java包_android SDk中常用的java包介绍

    下面是android SDK中API中的主要java包的功能简介: android.app :提供高层的程序模型.提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问 ...

  2. Android去掉百度地图sdk中卫星地图里的白色道路

    最近开发一个APP,需要去掉百度地图sdk中的卫星地图里面的白色道路,没有去掉之前: 如上图各种白色道路割裂了卫星地图进行图层绘制的时候不太美观,于是就百度了如何去掉道路,并且也提交了工单询问百度地图 ...

  3. android分层测试,Android视图层次和性能的检测(官方)

    在日常开发中,我们管理View对象层次结构的方式可能会对的应用程序性能产生重大影响. 本文将介绍如何评估软件视图层次结构是否会减慢你的应用程序的运行速度,并且提供了解决可能出现的问题的一些策略. 布局 ...

  4. 详解安卓应用性能测试方法以及Android SDK中辅助测试的工具使用

    Android前端APP的性能测试一般针对以下几个方面:应用启动时间:CPU的占用:内存的占用:流量的耗用:电量的耗用:流畅度等.一般对App进行性能测试都需要借助不同的工具完成,本章节会向读者重点介 ...

  5. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

    文章目录 一.Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库 二.Visual Studio 中安装的 Android SDK 和 NDK 位置 三. ...

  6. linux和Windows平台 android sdk 中build tools 区别

    在linux和Windows平台上,gradle wrapper和gradle依赖的jar 都是不区分平台的 ├── gradle │ └── wrapper │ ├── gradle-wrapper ...

  7. Android SDK中tools详解

    Android SDK包含了各种各样的定制工具,简介如下: Android模拟器(Android Emulator ) 它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的Andr ...

  8. Android - 简单的显示高德SDK中的3D地图

    简单的显示高德SDK中的3D地图 身为一个安卓小白,前几天试了一下高德SDK,踩了几个蠢蠢的坑,秉承着别让其他小白也踩到,我就写一篇怎么简单的实现高德SDK显示地图与小蓝点的教程. 获得key 1.先 ...

  9. Android:利用sdk中的build-tools对包进行签名

    有时我们需要对不同的apk包用指定的签名文件进行签名,签名方式如下. 签名工具: 利用AndroidStudio安装时自带的sdk中的apksigner.jar进行签名,文件目录一般在\Android ...

最新文章

  1. 报名 | 清华大学大数据能力提升项目报名指南 (2020秋)
  2. 休斯顿大学研究人员构建具有神经功能的软体机器人
  3. canvas 文字颜色_实现一个canvas小画板
  4. chromium浏览器_微软将全面向Windows 10用户推送Chromium版Edge浏览器
  5. powershell使用git
  6. gradient设置上下渐变_PaintCode Mac使用教程:如何使用渐变色
  7. [BZOJ] 3231: [Sdoi2008]递归数列
  8. 搭建测试环境如何配置软件,软件测试环境的搭建(Windows版)
  9. ETERM操作和错误集合
  10. 2017年油价调整时间表
  11. 免费开放可转盲文字库 阿里健康大药房呼吁关注视障群体用药安全
  12. 【Day42 文献精读】A Bayesian Model of Perceived Head-Centered Velocity during Smooth Pursuit Eye Movement
  13. php查询后台地址,dedecms 织梦后台查找方法【整理】
  14. HTML中<meta>标签的name属性都有哪些——标准元数据名称
  15. 自己做网站要买服务器,自己做网站要买服务器
  16. uniapp 旅游_uni-app旅游类跨平台APP制作实战教程
  17. 数字高程模型(DEM)—知识汇总
  18. 双非(湖大)学子保研夏令营简历优质修改辅导
  19. 屏幕色温自动调节小助手
  20. 时间段查询将00:00:00更换成23:59:59

热门文章

  1. 文字转语音v1.0.0纯净版
  2. 苹果平板可以配笔吗?好用的苹果笔推荐
  3. Vue2租车高德地图项目经验分享
  4. 微信 设置新消息提醒铃声(自定义铃声)
  5. 计算机一级wps必背知识点,2017计算机一级WPSOffice备考练习(含答案)
  6. Android中快速自定义圆形ImageView图形!
  7. 手机拍照或者相册获取图片总结
  8. html5 android 拍照上传,android webview使用html5 上传相册、拍照照片
  9. linux内核mount过程超复杂的do_mount()、do_loopback()、attach_recursive_mnt()、propagate_mnt()函数详解
  10. VS读取配置文件错误