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. Linux 网络 tcp C/S通信模型
  2. 层和 native_React-Native与小程序的底层框架比较
  3. kylin如何支持flink_如何使用 JuiceFS 在云上优化 Kylin 4.0 的存储性能?
  4. python 格式化工具_小而美的 Python 格式化工具--black
  5. 理论基础 —— 排序 —— 希尔排序
  6. 《Go语言程序设计》 读书笔记 (八) 包
  7. LeetCode 410. Split Array Largest Sum
  8. MySql、Oracle、MSSQL中的字符串的拼接
  9. 热烈祝贺人生第一篇论文发表成功
  10. shell php的守护进程,实例详解shell编写守护进程的方法
  11. 传智播客-刘意-java深入浅出精华版学习笔记Day07
  12. exe反编译为py文件
  13. Win10系统升级,1804->21H2
  14. 读《因果的真相》第八、九章摘抄笔记
  15. scrapy入门小案例--爬取电影天堂最新电影下载地址
  16. 阿里云上传图片的使用,AccessKey查看,入门级别
  17. 误将D盘格式化该怎么恢复数据?用嗨格式扫描
  18. 代码测试,调试与优化小结
  19. discuzx update sitekey.php,Discuz_X3.4重置应用中心密码教程 应用中心密码忘记怎么清除...
  20. 《土力学与地基基础(二)》在线平时作业2

热门文章

  1. Delphi XE8 用HttpClient下载文件
  2. 一文读懂胶囊神经网络
  3. ios激活锁_如何检查iOS设备的激活锁状态
  4. JS中的JSON.Stringify 方法详解
  5. 宝藏!揭秘如何写好软考论文框架1000+字
  6. 机器学习实战 - Logistic回归
  7. MySQL系列3—标准SQL语言
  8. 增长气血的捷径——山药薏米芡实粥
  9. 阿里云服务器搭建WORDPRESS案例
  10. 个人商务邮箱怎么注册,如何申请收费邮箱