TraceView 是什么?

TraceView 是 Android SDK 中内置的一个工具,用于加载 trace 文件,用图形的形式展示代码的执行时间、调用次数及调用栈,便于我们分析。

如何生成 trace 文件?

使用代码生成

 Debug.startMethodTracing(trace"); //trace文件保存到 "/sdcard/trace.trace"// ...Debug.stopMethodTracing();    //结束

当调用开始代码的时候,系统会生产 trace 文件,并且产生追踪数据,当你调用结束代码时,会将追踪数据写入到 trace 文件中。

adb 命令将 trace 文件导出到电脑

adb pull /sdcard/trace.trace /tmp

  • 选定范围:确定要在跟踪窗格中检查的记录时间部分。

  • 时间戳记:指示记录的跟踪的开始和结束时间。

  • 跟踪窗格:显示所选时间范围和线程的跟踪数据。

  • 时间参考菜单:选择以下一项以确定如何测量每个呼叫的时间信息:

Wall Clock Time(挂钟时间):时间信息表示实际经过的时间。
Thread Time(线程时间):当线程不消耗CPU资源时,时序信息表示实际经过的时间减去该时间的任何部分。对于任何给定的调用,其线程时间始终小于或等于其挂钟时间。使用线程时间可以使您更好地了解给定方法或函数消耗了多少线程的实际CPU使用率。

  • 跟踪窗格选项卡:选择如何显示跟踪详细信息。

  • 表示当前埋点的代码有5个线程。可以点击任何一个线程查看

上面的图中需要注意几点:这里的图标表示,比如2个方法A和B。方法A调用方法B,那么方法A就在方法B的上方。

  • 橙色:表示系统API方法调用
  • 绿色:表示自身方法调用
  • 蓝色:表示第三方调用

Flame Chart以一个全局的视野来看待一段时间的调用分布,它就像给应用程序拍X光片,可以很自然地把时间和空间两个维度上的信息融合在一张图上。把相似或相同的方法统计在一起,比如A方法调用B方法调用C方法:A->B->C,那么他会将所有按此顺序的方法收集在一起,或者将A->B->D也会收集在上,横轴表示的是相对时间。

点开initPalmID() -> 显示了onCreate();也就是说谁调用了我。onCreate()方法里调用initPalmID();

表示onCreate里的一些情况。

  • Total:表示onCreate函数所有执行需要的时间
  • Self: 表示onCreate函数里,除了调用别的函数方法外,自己方法内代码的执行时间
  • Children: 表示onCreate函数里,调用别的函数所执行的时间

TraceView使用相关推荐

  1. traceview android studio,TraceView 的正确打开方式

    引言 TraceView 是 Android SDK 提供的一个性能分析工具官网介绍 ,一般用来检查 UI 卡顿.分析 app 耗时操作.但是对于大多说 Android 开发来说,TraceView ...

  2. 正确使用 Android 性能分析工具——TraceView

    前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方.因为之前不会正确使用TraceView这个工具,主要是看不懂T ...

  3. 【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/316.html 由 ...

  4. 【转】Traceview的使用

    Traceview是android平台配备的一个很好的性能分析工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method. 使用Traceview的版本限制 对于Andro ...

  5. 性能分析工具 Android TraceView

    1. TraceView 简介 Traceview是android平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到每个方法的执行时间 Tracev ...

  6. Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)...

    此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activit ...

  7. 【App性能】:TraceView分析法

    抓取traceview的日志有两种方式, 1,是在代码中片段中添加: Debug.startMethodTracing("hello");.......Debug.stopMeth ...

  8. TraceView(profile) and Systrace

    TraceView(profile) 代码里面 拖到AS ----------------------------------------------------------------------- ...

  9. TraceView 使用详解 android eclipse

    先看命令 (配置好环境变量的情况下,直接traceview+空格+ trace文件路径即可): TraceView是什么 Traceview是android平台配备一个很好的性能分析的工具.它可以通过 ...

  10. Android 系统性能优化(76)--- 如何抓取traceview?

    如何抓取traceview? 在测试性能问题时,需要抓取某个app的traceview,以便从method级别做profiling,traceview正是这样一个提供method profiling的 ...

最新文章

  1. java 视频 缩略图_Java截取视频文件缩略图
  2. 协方差矩阵的实例与意义
  3. ScheduledExecutorService
  4. 如何在Microsoft Excel中将文本转换为日期值
  5. [Java基础]JDK内置注解
  6. Android 之自定义组件
  7. html查看程序魅族,怎么查看源代码(什么工具能查出一个程序的代码)
  8. [转载] 使用DirectInput进行交互
  9. js中this的理解
  10. SQLServer出现不允许保存更改的问题解决
  11. linux 版本号 加号,如何去除Linux Kernel版本号后面的加号?
  12. hystrix参数使用方法
  13. 实现国标GB/T28181流媒体服务解决方案EasyGBS之GB35114和GB28181的注册信令流程简介
  14. 文件夹批量重命名的方法
  15. 浅尝大菠萝Pinia
  16. java马里奥_java马里奥毕业设计
  17. 谭谭牛顿的牛眼之人眼是红外线成像仪谭
  18. 端口碰撞技术让开放端口更安全
  19. win10子系统ubuntu文件夹位置_Win10 Linux子系统任何直接访问文件
  20. [52PJ] Java面向对象笔记(转自52 1510988116)

热门文章

  1. Unity3d 周分享(18期 2019.6.1 )
  2. ubuntu16.04系统下谷歌浏览器不能拖入下载好的扩展程序离线包
  3. OpenCore Gen-X :一键制作黑苹果OpenCore EFI文件
  4. 罗技驱动调节灵敏度方法介绍
  5. (三十一)国债期货的定价和套期保值
  6. 2014年互联网IT待遇
  7. navicate导入sql时出现错误error:1300 - Invalid utf8 character string: 'D7D4D4'
  8. golang 编码转换 gbk
  9. golang编译android库
  10. 华为AR路由器端口配置trunk_瑞哥呕心之作——华为HCIA(HCNA)笔记,还不快快收藏!...