性能分析工具TraceView
来源:互联网 发布:淘宝死多少人 编辑:程序博客网 时间:2024/06/05 03:32
俗话说,工欲善其事,必先利其器,好的工具有时可以使得我们事半功倍,接下来介绍性能分析利器–TraceView。
1 使用TraceView
Android Studio中,按照如下步骤打开TraceView,Tools/Android/Android Device Monitor,然后会弹出如下界面:
选中列表中地图进程,然后点击上右面中间图片中工具条上的start method profiling,接下来弹出的对话框如上图右边图片所示,其中Sample based profiling是以固定的频率像VM发送中断并搜集调用栈信息。低版本手机也是采用该方式来采集样本的默认是1毫秒采集一次。精确度和采集的频率有关间隔频率越小会越精确但运行也会相应的更慢。Trace based profiling,这个选项是不论多小的函数都会跟踪整个函数的执行过程所以开销也会很大。运行起来会非常的慢不适合检测滑动性能。一般情况用第一种默认1000微妙的间隔就足够了。我们使用默认的,点击OK。操作手机,然后再次点击启动按钮,这是会停止采集,弹出如下界面:
从上图可以看到,TraceView的UI分为上下两大面板,上面的面板是Timeline Panel,下面的是Profile Panel,下面我们来"解毒"每个面板的主要用途和如何追踪性能问题。
- Timeline Panel
上半部分的Timeline Panel左边测试数据中采集的线程信息,比如main线程,地图Sensor线程BMSensorThread和其他的线程等,右边的面板显示的是时间线上每个线程测试 时间段内涉及的函数调用信息。内容越丰富,代表时间段内执行的函数越多,这可以看到线程的繁忙状态,也可以看出线程的启动时间和结束时间等。
- ProfilePanel:
下半部分的面板是TraceView的核心,里面显示的内容很多。它主要显示了某个线程在Timelin Panel中选择线程中各个函数的调用情况,包括函数调用次数,CPU使用时间等 等,从这些数据里面可以窥见性能问题产生的原因。
2 详细内容
ProfilePanel中各列含义,如下表:
从函数调用情况,可以找出函数所在线程分布,了解函数前后路径和执行情况,可以找到主线程中消耗时间比较多的函数,也可以查看部分GC原因和位置。
我们需要重点关注的是Cpu Time/Call 平均执行时间较长的函数和Call+Recur Calls/Total,调用次数非常频繁的函数。从这些数据里面找出性能瓶颈的真正原因,这才能真正的 定位到问题所在,为下一步的问题分析和解决做好必要的前提准备。
请仔细研究各线程,函数运行的参数!
- 性能分析工具TraceView
- 性能分析工具TraceView
- android性能分析工具 traceview
- TraceView性能分析工具介绍
- TraceView性能分析的工具
- Android性能分析工具-TraceView
- Android性能分析工具TraceView
- 性能分析工具 Android TraceView
- Android 性能分析工具TraceView
- android-sdk工具使用traceview性能分析
- Android性能分析工具——TraceView
- android性能分析工具-TraceView参数解释
- Android应用性能分析调试工具 TraceView
- Android性能分析工具——TraceView
- 正确使用Android性能分析工具 - TraceView
- Android 性能分析工具之 TraceView 使用说明
- Android 性能分析工具之 TraceView 使用说明
- Android性能分析工具之TraceView
- Tomcat源码分析之二_ 一次完整请求
- 像素翻转
- [Unity&C#&接口]通过接口调用不同类型 物体 的继承了接口的组件
- Python基础-输入输出
- 这是我的第一篇博客
- 性能分析工具TraceView
- 细说微服务架构的优势与不足这点事
- ConcurrentHashMap
- caffe基础知识简介
- 2017计蒜之道初赛第六场-微软大楼设计方案(简单)
- 设计模式之中介者模式
- 数据预处理总结
- Android与Javascript互调
- 程序设计原则