美文网首页
性能优化之内存泄漏(三)分析工具(五)

性能优化之内存泄漏(三)分析工具(五)

作者: Ayres | 来源:发表于2017-09-08 16:19 被阅读0次

TraceView工具(Device Monitor)

从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿的时候,我们可以来分析出现卡顿时在方法的调用上有没有很耗时的操作,关注以下两个问题:
• 调用次数不多,但是每一次执行都很耗时
• 方法耗时不大,但是调用次数太多
简单一点来说就是我们能找到频繁被调用的方法,也能找到执行非常耗时的方法,前者可能会造成Cpu频繁调用,手机发烫的问题,后者就是卡顿的问题。

1.TraceView工具启动

Image1.png

启动追踪:,打开App操作你的应用后,再次点击的话就停止追踪并且自动打开traceview分析面板:


Paste_Image.png

2.TraceView工具面板

Paste_Image.png
Paste_Image.png

traceview的面板分上下两个部分:
• 时间线面板以每个线程为一行,右边是该线程在整个过程中方法执行的情况
• 分析面板是以表格的形式展示所有线程的方法的各项指标

2.1时间线面板
Paste_Image.png
左边是线程信息,main线程就是Android应用的主线程,这个线程是都会有的,其他的线程可能因操作不同而发生改变.每个线程的右边对应的是该线程中每个方法的执行信息,左边为第一个方法执行开始,最右边为最后一个方法执行结束,其中的每一个小立柱就代表一次方法的调用,你可以把鼠标放到立柱上,就会显示该方法调用的详细信息:。
Paste_Image.png
你可以随意滑动你的鼠标,滑倒哪里,左上角就会显示该方法调用的信息。
1.如果你想在分析面板中详细查看该方法,可以双击该立柱,分析面板自动跳转到该方法:
Paste_Image.png
刚打开的面板中,是我们采集信息的总览,但是一些局部的细节我们看不太清,没关系,该工具支持我们放大某个特殊的时间段:
Paste_Image.png
如果想回到最初的状态,双击时间线就可以。
Paste_Image.png
可以看出来,每一个方法都是用一个凹型结构来表示,坐标的凸起部分表示方法的开始,右边的凸起部分表示方法的结束,中间的直线表示方法的持续.。

2.2分析面板

Paste_Image.png
Paste_Image.png

你可以点击某个函数展开更详细的信息:


Paste_Image.png
展开后,大多数有以下两个类别:

• Parents:调用该方法的父类方法
• Children:该方法调用的子类方法
如果该方法含有递归调用,可能还会多出两个类别:
• Parents while recursive:递归调用时所涉及的父类方法
• Children while recursive:递归调用时所涉及的子类方法

相关文章

网友评论

      本文标题:性能优化之内存泄漏(三)分析工具(五)

      本文链接:https://www.haomeiwen.com/subject/sptsjxtx.html