美文网首页Android学习安卓
性能优化工具(六)-Layout Inspector

性能优化工具(六)-Layout Inspector

作者: Stan_Z | 来源:发表于2018-09-03 17:50 被阅读1313次
    一、题外话

    布局查看神器我们的第一印象应该是:Hierarchy Viewer . 很久没有用了,最近在总结性能优化工具的时候,发现sdk/tools下Hierarchyviewer.bat没有了,然后尝试打开 DDMS, Window -> Open Perspective 下面,也没有Hierarchy Viewer选项了。google了下,发现hierarchyviewer 已经被废弃了(Android SDK Tools Revision 25.3.0 (Feb 2017)),取而代之的是一个新的工具:Layout Inspector 。那么这篇文章就来了解下这个新工具。

    Hierarchy Viewer官方使用文档
    Layout Inspector官方使用文档

    二、简介

    Layout Inspector是Android studio自带的视图层次结构分析工具(Android Studio 2.2及其之后版本)。Android Studio中的Layout Inspector允许您在运行时从Android Studio IDE中检查应用程序的视图层次结构。当您的布局在运行时构建而不是完全在XML布局中定义时,这尤其有用。

    自认为Layout Inspector的

    优点:上手比Hierarchy Viewer简单,Hierarchy Viewer限制条件比较多,针对真机调试,需要root手机,且配置合适的系统属性。比较麻烦。HierachyViewer连接真机调试设置

    缺点:界面虽不如HierarchyView直观。

    三、使用:

    按以下步骤操作:

    1. 在连接的设备或模拟器上运行应用。
    2. 点击 Tools > Android > Layout Inspector。
    3. 在出现的 Choose Process 对话框中,选择您想要检查的应用进程,然后点击 OK。

    图 1. Choose Process 对话框

    默认情况下,Choose Process 对话框仅会为 Android Studio 中当前打开的项目列出进程,并且该项目必须在设备上运行。 如果您想要检查设备上的其他应用,请点击 Show all processes。 如果您正在使用已取得 root 权限的设备或者没有安装 Google Play 商店的模拟器,那么您会看到所有正在运行的应用。 否则,您只能看到可以调试的运行中应用。

    布局检查器会捕获快照,将它保存为 .li 文件并打开。 如图 2 中所示,布局检查器将显示以下内容:

    1. View Tree:视图在布局中的层次结构。
    2. Screenshot:带每个视图可视边界的设备屏幕截图。
    3. Properties Table:选定视图的布局属性。

    图 2. 布局检查器

    您可以在 View Tree 中点击视图以在屏幕截图中选择相同视图,反之亦然。 视图的所有布局属性都将显示在 Properties Table 中。

    如果您的布局包括重叠视图,则默认情况下,只有前面的视图可以在屏幕截图中点击。 要让后面的视图可以在屏幕截图中点击,请执行以下操作: 在 View Tree 中右键点击前面的视图,然后取消选中 Show in preview。 此操作不会让视图内容消失;仅会让屏幕截图中的可点击边界消失,以便您可以点击在它后面的视图。

    如果设备上的布局发生变化,布局检查器不会更新。 您必须再次点击 Tools > Android > Layout Inspector,创建一个新的快照。每一个快照都将保存到 project-name/captures/ 内一个单独的 .li 文件中。

    图 3. Project 窗口中的布局检查器快照(.li 文件)

    笔者认为,Layout Inspector主要用分析布局的层级结构,减少不必要的层级,避免overdraw, 达到渲染优化的效果。Layout Inspector虽然界面不如HierarchyView直观,但是提供的信息也足够详细,分析布局层级绝对够用了。

    相关文章

      网友评论

        本文标题:性能优化工具(六)-Layout Inspector

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