Hierarchy Viewer工具
Hierarchy Viewer能够很便捷可视化的查看各种View嵌套关系,是一个很好的研究xml视图结构的工具。
主要有两个用途:
(1)分析当前页面视图层级;
(2)分析布局的时间统计(Measrue、Layout、Draw)所需要的具体时间。
有利于发现潜在的渲染瓶颈,并解决之。
1)使用(Android Studio 2.2)
Tools———最下面一个选项Android——— 第二个选项Android Device Monitor——— 右上角Hierarchy View
2)打开Hierarchy View
在使用Hierarchy View,得先打开一个运行的Android设备,可以看到这样一个界面
- 左侧“Windows”列表:列出了所有与电脑连接上的Android设备,以及所有正在运行的进程。活跃的进程是粗体展示的。第二个tab列出了当前正在编译的进程的详情(后面将会介绍)。
- 中间部分Tree View:是可缩放的View的树形图。点击其中的一个视图,能够看到它在设备上的显示以及附加的数据。
- 右边是视图Tree Overview:Tree Overview展示了完整的视图层次结构,里面有一个方块显示了中间窗口在整个树形结构当中所处的位置。
3)Tree View数据
显示子视图的个数和视图的测量、布局以及绘制的总用时。这个总用时是该视图及其所有子视图进行渲染所花费的时间总和。这里,它包含了127个子视图,视图measure花费了0.3ms,Layout用了2.7ms,而Draw用了9.8ms(总共大约13ms)。
4)Tree OverView
我们可以通过查看Tree Overview来了解UI渲染树的层次结构。渲染树越扁平越好,因为视图XML文件的深度越深,渲染所需的时间就越长。如果UI绘制时间超过16ms,如何进行优化(正常情况16ms才算流畅)?