Hierarchy Viewer布局检测工具的使用

Hierarchy Viewer可以用来查看View的布局层次,并检测布局渲染的性能瓶颈

一.设置环境变量
如果是Android4.1以上的设备,需要设置一个环境变量,设置步骤如下:
Mac:
1.vim ~/.bash_profile
2.添加
#Hierarchy Viewer Variable 
export ANDROID_HVPROTO=ddm
3.source ~/.bash_profile

二:运行代码,并打开Android Device Monitor,确保左上进程列表中显示你的应用(你的应用package名) 


三:通过菜单:Window > Open Perspective >Hierarchy View打开Hierarchy View面板


四:找到你的应用进程,双击,到此会显示你的布局层次树


五:点击其中一个View节点,你会看到View的相关信息


六:左方是View对应属性,选择Profile Node则可以显示View的Measure、Layout、Draw时间


可以看到,ViewTree中,每一个View有三个有颜色的小圆圈,他们分别代表measure, layout, and draw相对于其他View的速度(从左到右) ,而颜色的含义如下:
绿色:此View的渲染速度比其他一半的View都快
黄色:此View的渲染速度在效率高的50%之下
红色:最慢的一些View,适合去做优化 

七:其他有用的信息:
1.Hierarchy Viewer测量的是相对的效率,所以总会有显示红色的View,但这不代表它在使用的时候就很慢
2.你应该多Profile几次,获取一个平均的测量值
3.看一下红圈的叶子节点View,或者只有几个View但显示红圈的ViewGroup,他们在手机上的执行速度不一定很慢,但你应该了解下他们为什么显示红圈,参考systrace( https://developer.android.com/tools/performance/systrace/index.html)及traceview ( https://developer.android.com/tools/performance/traceview/index.html
4.如果有20+以上的叶子节点都显示红色的draw,那你应该看一下这些View的OnDraw方法是不是执行了一些不该在这执行的代码



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值