热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidStudio功能LayoutInspector检查视图层级、结构

减法、减法、减法,前俩天记录了一下DatabaseInspector,想起来还有一个LayoutInspector,索性一起记录一下~我记

减法、减法、减法,前俩天记录了一下 Database Inspector ,想起来还有一个 Layout Inspector ,索性一起记录一下 ~


我记得在前几年的时候,为了性能优化中的布局优化,我就记录了 通过Component Tree、Layout Inspector - Tree View、Hierarchy Viewer 多方位查看视图结构,里面也提到了Layout Inspector ,不过当时我用的是Android Studio3.0版本,现在用的是Android Studio4.1版本


        • 基本认知
        • 开启 Layout Inspector
        • Select Process 进程选取
        • Component Tree 布局层级
        • Attributes 视图详情
        • 扩展功能
          • 实时更新
          • 破解三方app布局结构
          • 有那么点用的...布局验证


基本认知

关于 Layout Inspector 主要提供了查看布局层级、布局详情的功能,关于布局性能方面的分析并没有给予支持...

Layout Inspector 启动成功后,你会发现主要分为三个部分


  • Select Process 进程显示区域
  • Component Tree 视图层级显示区域
  • Attributes 视图具体参数显示区域

开启 Layout Inspector

常规的启动方式主要有俩种,本质一样,入口不同罢了

启动方式1:View - Tool Windows - Layout Inspector
在这里插入图片描述
启动方式2:Tools - Layout Inspector
在这里插入图片描述
启动效果
在这里插入图片描述


Select Process 进程选取

首先连接设备,其次选取对应的项目进程即可 (手机上开启了几个debug项目就会显示几个项目进程)

我这里用的是OPPO的测试真机,同时后台开了三个debug项目
在这里插入图片描述
进程选取成功后的状态
在这里插入图片描述


Component Tree 布局层级

关于查看自己项目内的布局层级,仅需从content布局层级开始就可以了!

如果有兴趣的话,可以看看视图的整个传递顺序,如onTouch机制 从Activity - Window - PhoneWindow - DecorView 的一个视图顺序

短版
在这里插入图片描述
完整版
在这里插入图片描述


Attributes 视图详情

当选取具体布局后,可通过Attributes 查看布局的数据属性,挺全的,基本够用了

短版
在这里插入图片描述
完整版
在这里插入图片描述




扩展功能

需要了解,但是又不是那么刚需的操作?或许有的还挺有用的 - - ~


实时更新

实时更新的功能是很有必要的,它能动态监听你手机切换项目或者切换activity导致视图发生改变的状态,从而为你显示当前的布局效果


一般使用Layout Inspector 时,自动更新都是开启的,如果没有开启的话及时给 Live updates 打勾即可 ~
在这里插入图片描述


破解三方app布局结构

别想了,Layout Inspector 只支持分析debug包的项目app!同时意味着只能分析自己写的项目,或者一些不介意代码泄漏的项目包~

好吧,如果你想尝试一下,那么Root手机或模拟器看看能不能分析Release版本的App把


有那么点用的…布局验证

这个功能有那么点意思,你可以尝试通过 Load Overlay 将设计图加载到布局分析器中,进行对比
在这里插入图片描述
可动态调整设计图的透明度,看到不同状态下的一个视图效果
在这里插入图片描述


推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • android 触屏处理流程,android触摸事件处理流程 ? FOOKWOOD「建议收藏」
    android触屏处理流程,android触摸事件处理流程?FOOKWOOD「建议收藏」最近在工作中,经常需要处理触摸事件,但是有时候会出现一些奇怪的bug,比如有时候会检测不到A ... [详细]
  •  项目地址https:github.comffmydreamWiCar界面做的很难看,美工方面实在不在行。重点是按钮触摸事件的处理,这里搬了RepeatListener项目代码,例 ... [详细]
author-avatar
庚的右翼cs神
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有