热门标签 | 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 将设计图加载到布局分析器中,进行对比
在这里插入图片描述
可动态调整设计图的透明度,看到不同状态下的一个视图效果
在这里插入图片描述


推荐阅读
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文作为《WM平台上使用Sybase Anywhere 11》系列的第二篇,将继续探讨在Windows Mobile (WM) 系统中如何高效地操作Sybase Anywhere 11数据库。继上一篇关于安装与基本测试的文章之后,本篇将深入讲解数据库的具体操作方法。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • 解决网页乱码问题的实用方法
    网页乱码问题在开发中较为常见,主要由文件编码、程序字符集设置和数据库连接字符集设置不当引起。本文将详细介绍如何逐一排查并解决这些问题。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
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社区 版权所有