一、什么使用HierarchyViewer
不合理的布局会使我们的应用程序UI性能变慢,HierarchyViewer能够可视化的角度直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计。HierarchyViewer是我们优化程序的工具之一,它是Android自带的非常有用的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器。二、怎么使用HierarchyViewer
Hierarchy Viewer是随Android SDK发布的工具,位于Android SDK/tools/hierarchyviewer.bat三、selection view
1、这是启动 Hierarchy Viewer 后的 主界面 selection view,他会列出你当前连接到电脑上的设备和该设备下运行的应用。
2、选中一个应用后,点击LoadViewHierarchy 会进入treeview。点击InspectScreenshot 会进入pixse prefect view。
四、treeview
1、这个linearlayout 就是 我们activity setContent 的 那个view,他外层包着一层 FrameLayout id是 android.id.content
2、在 treeview 界面上 双击任意一个view,它会导出一个psd文件,并把他的子view切割成不同的图层,对于UI重构很方便。
3、选中一个view的图示,点击工具栏的Display View,就可以看到这个view的实际显示效果,可以点选Show Extras,这个功能也比较实用,可以显示出该View中不同元素显示的边界,帮助我们检查是否正确。
4、invalidate和requestLayout功能
对于Android的UI来说,invalidate和requestLayout是最重要的过程,Hierarchyviewer提供了帮助我们Debug特定的UI执行invalidate和requestLayout过程的途径,方法很简单,只要选择希望执行这两种操作的View点击按钮就可以。当然,我们需要在例如onMeasure()这样的方法中打上断点。这个功能对于UI组件是自定义的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。
五、pixsel prefect view
这里会列出当前程序所有的view 层次结构,在这里我们可以看出我们在activity里setContentView的view外面有一层FrameLayout