hierarchy viewer:
布局层级查看工具,已废弃……
Pixel Perfect:
布局性能查看工具,已废弃……
Google将工具都废弃了……我们怎么查看Android应用的布局层次结构?(View树结构)
答案:
Layout Inspector
1、
Layout Inspector
在哪?
Layout Inspector集成在Android Studio中,需要您安装Android Studio
2、
Layout Inspector
能否查看布局性能?
Layout Inspector不支持查看布局性能,当前版本:Android Studio 4.0.1
3、如何面对工具的废弃?
Google的工具随时会废弃…今天的你刚学会使用Layout Inspector,可它明天就废弃了…你觉得苦不苦B呢?所以学习除了如何使用工具,必须同时学习与工具相关的理论,这些理论可以复用一被子……你知道什么是DecorView吗?不知道的人,赶紧去补习一下……
开启Layout Inspector
1、打开Android Studio
2、连接真机或模拟器
3、运行你的Debug App
(注意:App必须为Debug Version,App进程必须处于存活状态)
4、点击Android Studio顶部菜单栏的
Tools > Layout Inspector
5、Layout Inspector窗口中选择设备与已经运行的Debug进程
6、成功启动Layout Inspector后的窗口截图
Layout Inspector由3个子窗口组成,从左到右,依次介绍一下……
1、Component Tree窗口(最左侧窗口)
位于最左侧的就是Component Tree窗口,此窗口提供以下功能
1、Component Tree窗口可用于查看整个View树
2、Component Tree窗口可用于切换View树,当同时打开多个Activity时,可以指定查看哪一个View树
3、Component Tree窗口可用于选中View树中的某一个控件,被选中的控件属性信息会在Attrsibutes窗口中展示
2、通用窗口(中间窗口)
位于中间的为通用窗口(屏幕截图窗口,没找到合适的名字),此窗口提供这些功能
1、选择设备与进程
2、设置设备实时截图的选项
3、提供Overlay功能,可覆盖一张透明的设计图与实际的截图进行对比
4、更新当前屏幕截图功能
5、勾选按钮后,手机上的画面将随着实时更新,注意:此时的手机画面流畅度会下降
6、屏幕截图操作,放大、缩小、拖拽,注意其中一个正方形的功能,在API 29的设备上才可使用
3、Attributes窗口(最右侧窗口)
位于最右侧Attributes窗口,提供以下功能
1、展示控件的属性信息
2、控件所在View树的布局信息
3、控件相对屏幕的属性信息
4、支持搜索某个属性
1:查看动态添加的View
控件是在代码中添加的,你很关心动态生成的控件在View树中的结构是否合理?Layout Inspector可以看到……
2、插桩测试定位控件
编写Android App的插桩测试项目(UI自动化),需要查看控件的一些属性用于查找控件,比如控件的id属性
3、原型对比
当前页面的结构图与设计师的原型图对比,检查实际页面与设计图的差别
4、学习View树结构
学习Android控件的原理,查看当前Window实际的View树结构是什么样的?比如看看顶级View是否为DecorView
5、查看竞品布局
查看竞争对手的App的界面是如何实现的(必须Root设备或模拟器),因为竞品与你的需求是相似的,通过参考竞品App的View树结构,有利于提高开发速度,我猜测这是Google故意提供的功能,开发者们越快开发出App,越利于Android生态的建设!
(注意:必须Root手机或者模拟器才可查看Release版本的App,日常情况下只能查看Debug版本的App)
6、复杂布局Debug
明明写好的界面,为什么那里有个空白的bug?当某个页面很复杂,又出现莫名其妙的bug时,别着急,先用Layout Inspector工具看下View树结构,再来修改bug也不迟……
如何选中一个View
属性表窗口中展示选中的控件的所有属性
1、Component Tree窗口下,点击任意一个View,即可选中一个View
2、屏幕截图窗口下,点击任意一个View,即可选中一个View
3、重叠的View如何选中
如果布局中包含重叠的View,只能在View树窗口中选择对应的控件
隔离View功能
1、在View树窗口右键选中只展示子View
2、在屏幕截图窗口,对着选中的View,选中只展示子树
3、另外在View树窗口与屏幕截图窗口也可以右键选中只展示父View
控制布局边界显示选项
勾选Show Borders选项,屏幕截图中的View边界会
控制控件类型信息显示选项
勾选Show View Label后,可以控制在屏幕截图中选中View后展示的View的类型信息
放大与缩小功能
-
要放大屏幕截图,请点击
Zoom In
图标
-
要缩小屏幕截图,请点击
Zoom Out
图标
实际布局与设计图比较功能
1、要将应用布局与参考图像进行比较,可以在布局检查器中加载一个位图图像作为叠加层
-
请点击布局检查器顶部的
Load Overlay
图标,然后选中一张设计图,叠加层将会缩放以适合当前布局
-
要移除叠加层,请点击
Clear Overlay
图标
Android Studio4.0.1版本截图
当前页面改变,手动刷新并获取新的屏幕截图
Android Studio 4.0.1版本的Layout Inspector(再次介绍)
在Android Studio 4.0.1版本中,Layout Inspector工具进行了重大更新(坑爹),工具窗口相对旧版本发生变化,很多功能的操作也改变了,还有一部分功能直接废弃了……
新的窗口布局
从左侧到右侧共计3个子窗口
第1个窗口:Component Tree窗口
第2个窗口:屏幕截图窗口
第3个窗口:控件信息窗口
1、选择debug应用的位置
选择已运行的debug应用,集成在窗口中(旧版本是个对话框)
2、多个Activity的View树呈现在列表中(旧版是个选中Activity的对话框)
最下方的View树是当前屏幕的Activity
3、查看屏幕控件的全局选项固定为两个
4、View隔离功能,集成在屏幕窗口中、以及View树窗口中,使用右键弹出选项
5、刷新当前屏幕的View树功能按钮
6、控件信息窗口展示的信息更全面
7、最亮点的功能按钮,我没用……电脑配置太差
最亮点的功能需要配置-Layout Inspector Image Server
1、首先打开SDK Manager安装Layout Inspector的image server
2、必须是API 29-30之间的设备
3、我们来看下这个牛X的功能,未完,待续!
1、Layout Inspector用于在Android平台查看View树层级
2、缺点:Layout Inspector无法查看布局性能
3、缺点:日常只能查看正在运行的debug App,想看竞品release App的布局,官方建议使用root手机或者模拟器设备
4、缺点:Layout Inspector工具更新太快了………………我就艹了…………
参考官方文献
https://developer.android.com/studio/debug/layout-inspector
使用布局检查器(Layout Inspector)调试布局
0、前言,Google牛就牛在什么不好,干脆直接不要hierarchy viewer:曾经的布局层级工具,说舍弃就舍弃掉1、Layout Inspector就是最新的布局工具入口:Tools - > Layout Inspector2、...
UI检测的
工具
,Hierarchy Viewer和
Layout
Insp
ect
or。
Hierarchy Viewer官方地址
Layout
Insp
ect
or官方地址
虽然Hierarchy Viewer已经废弃了,但感觉还是有必要
介绍
一下的。
Hierarchy Viewer
工具
打开方式
AS版本:3.3.2 打开方式:
本地安装SDK目录->sdk->tools->monitor.bat
老版的AS打开方式:
本地安装SDK目录->sdk->tools-
Layout
Insp
ect
or
工具
的使用
如果还是直接看xml文件来看
布局
嵌套层数的话有必要看一下本文,使用
Layout
Insp
ect
or
工具
查看
布局
嵌套。
使用
Layout
Insp
ect
or
工具
的步骤:
1、打开方式:通过file > settings > key map 搜索
Layout
Insp
ect
or如下图
为什么要做这个
工具
如果有更好的轮子用,谁愿意造轮子。
在21年年初的时候,我被调到公司的另外一个项目,这个项目有几个特点:历史非常的悠久,使用的技术落后,项目工程复杂,代码量巨大,界面
布局
层次特别深。
这么庞大的项目对于我这个“新人”来说,找个功能的实现,或者找某个view的点击事件是在哪实现的,或者某个view所属的
layout
是啥等等 都很困难。
通过阅读项目的源码来找具体功能点是可行的(比如找某个view的点击事件在哪,大致步骤是先找到Activity进而找到
布局
l
在App运行过程中,我们的视图层级可能会由于用户的操作一直在发生改变,甚至可能会有一些出乎预料的变化。最近在请教前辈这类问题时,学习到了一个
布局
查看
神器——
Layout
Insp
ect
or。
Layout
Insp
ect
or是
Android
Studio自带的
布局
检查器,允许我们在运行时检查应用程序的视图
层次结构
,如果您的
布局
是在运行时(而不是完全在 XML 中)构建的并且
布局
表现出意外行为,这会很有用。
Layout
Insp
ect
or官方使用文档
如需打开 L
npm i -D react-dev-
insp
ect
or
在将您的React项目与“ react-dev-
insp
ect
or”连接之前,用户需要添加React组件并应用webpack配置。
注意:请勿在生产模式下使用此包和React component , webpack config
1.添加
Insp
ect
or React组件
import React from 'react'
import {
Insp
ect
or ,
Insp
ect
Params } from 'rea
直接在iOS设备上检查
布局
仅当应用程序在DEBUG构建配置下运行时,才可以触发检查,因此它不会影响任何其他类型的应用程序构建(即RELEASE )
兼容Obj
ect
ive-C
适用于装有iOS 11.0+的所有设备
要运行示例项目,请克隆存储库,然后首先从Example目录运行pod install 。
iOS 11.0及更高版本
Xcode 10.3及更高版本
Swift 5.0及更高版本
Layout
Insp
ect
or可通过。 要安装它,只需将以下行添加到您的Podfile中:
pod '
Layout
Insp
ect
or'
可能会触发
布局
检查:
随时随地手动操作(有关某些操作,事件,通知等)
Layout
Insp
ect
or. shared . show
Layout
()
撷取应用程式萤幕撷取画面时自动
Layout
Insp
ect
or
适用于UI和CoreData的iOS
层次结构
查看
器
iOS Hierarchy Viewer允许开发人员调试UIView和CoreData模型的
层次结构
。
如果
布局
计算存在问题,则可以通过在浏览器中内省视图的实时预览来轻松找到它们。
如果您的数据表现异常,则可以通过浏览器轻松浏览数据。
该
工具
早于Reveal和Spark
Insp
ect
or等商业
工具
,并且可以免费使用。
从1.4.6版本开始,我们还为您提供了在项目中调试Core Data API(如果使用的话)的功能。 请参阅“说明”部分进行设置。
客户端以HTML / JS / CSS实现。 不需要其他软件
设备/模拟器屏幕预览。 可按需缩放和/或旋转
调试框架显示确切的UIViews框架
属性列表显示obj-c属性及其选定UIView的值
从发布部分下载库的最新版本,或将其用作cocoapods规范
将这些文件添加到您的项目中(拖放到xCode项目中)
确保已将“ -ObjC -all_load”添加到“其他链接器标志”(单击项目根元素,选择“构建设置”选项卡,搜索“其他链接器标志”)
如果您的项目中已
1.1. 左Component Tree:
布局
中视图的
层次结构
。
1.2 中
Layout
Display:按照应用
布局
在设备或模拟器上的显示效果呈现
布局
,并显示每个视图的
布局
边界。
1.3. 中上
布局
检查器
工具
栏:
布局
检查器的
工具
。
1.4. 右 Attributes:所选视图的
布局
属性。
1.5.选择视图: 在Component Tree或
Layout
Display中点击则选中视图,所选视图的所有
布局
属性都会显示在...
Layout
Insp
ect
or Image Server是一个
Android
Studio插件,用于在
Android
设备和模拟器上捕获应用程序的
布局
层次结构
和屏幕截图。它是用于分析和调试应用程序
布局
的有用
工具
。
如果您需要使用
Layout
Insp
ect
or Image Server,则需要下载并安装对应的SDK Tools。对于API 29-30,它们是已经包含在SDK中的,无需再次下载。
要使用
Layout
Insp
ect
or Image Server,请确保已经打开并连接到
Android
设备或模拟器,然后使用
Android
Studio的
布局
检查器打开应用程序。在
布局
检查器中,您可以选择捕获屏幕截图和
布局
层次结构
。