一、为啥要用HierarchyViewer?
不合理的布局会使我们的应用程序UI性能变慢,但是许多时候,布局都需要一点一点的调试,是件非常费时费力的工作。
古语有,军欲善其事,必先利其器,这事儿其实不用我们亲自操刀,HierarchyViewer 早就为我们做好了一切,它能够以可视化的方式直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计。
HierarchyViewer是我们优化程序的工具之一,它是Android自带的非常有用的工具,可以帮助我们更好地检视和设计用户界面UI,绝对是UI检视的利器。
二、如何使用HierarchyViewer?
-
1.打开方法
同上篇打开DDMS的方法一样:Tools -> Android -> Android Device Monitor,只不过打开后要找到DDMS选项卡右侧的HierarchyViewe按钮并点选打开,视图如下:
-
2.双击左侧列出的应用程序
如上图中的启动wps应用截取的视图(真机要经过Root过后才能看见视图),加载完毕后会在中间显示当前界面层次结构,右侧是整体的缩略图。
-
3.观察层次结构图
这个图有点大,可以拖动,滚轮可以调整视图大小。View Hierarchy窗口显示了Activity的所有View对象,选中某个View还可以查看View的具体信息,最好选择工具中的Show Extras选项,左侧的ViewProperties可以查看视图的各种属性信息。
-
4.观察单个view
选择单个view并放大后会出现如下图所示图形。这里会看到Measure、Layout、Draw的耗时。
View Hierarcy 同时能帮助你识别渲染性能比较低的部分。View节点中带有红色或黄色的点代表速度较慢的View对象。如单步运行应用程序那样,你可以这样来判断某个View 速度一直很慢,还是只在某个特定环境下速度才慢。
请注意,低性能并不表示一定有问题,特别像是ViewGroup对象,View的子节点越多,结构越复杂,性能越差。
View Hierarchy 窗口还可以帮助你找到性能问题。只要看每个View节点的性能指标(颜色点)就可以,你可以看到测量(布局或绘制)最慢的View对象是哪个,这样你就能快速确定,要优先察看哪个问题。
感谢优秀的你跋山涉水看到了这里,不如关注下让我们永远在一起!