New UI-Hierarchy Viewer工具解析app的界面布局
New UI-Hierarchy Viewer工具解析app的界面布局
——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!
小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的
力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文
更加的详尽,帮到更多的人,O(∩_∩)O谢谢!
小猪Android开发交流群:小猪Android开发交流群群号:421858269
新Android UI实例大全目录:http://blog.csdn.net/coder_pig/article/details/42145907
本节引言:
我们开发Android应用的时候,通常是使用xml文件来完成用户界面的布局,然后加载这个xml文件
生成对应的控件树,然后从根节点逐级绘制到屏幕上,而当我们对控件进行操作的时候,我们需要找到
控件树中对一个的控件,进行相关处理!另外控件树的层次深度会影响到控件的加载,绘制,以及查找,
所以在编写界面布局的时候,我们需要选择最佳的布局方式来尽可能的减少控件树的层次深度!
而在Android中也给我们提供了一个用于查看布局层次的查看器:Hierachy Viewer工具!
我们可以借助这个工具来查看app界面中的层次结构,有助于帮我们开发出优化UI布局的层次
结构!好了,本节就来对Hierachy Viewer的使用进行一个讲解吧!
1)工具在哪?
答:sdk -> tools -> hierachyviewer.bat批处理文件
2)工具使用介绍:
step 1:双击hierachyviewer.bat后,会来到以下界面:(连接好模拟器或手机)
我们可以从界面上看到:三个按钮和显示手机当前运行进程的窗口:
三个按钮依次是:
①Refresh:当手机界面发生了改变时,需要点击Refresh来更新界面信息
②Load View Hierarchy:加载视图层次,就是加载我们的控件树
③Inspect Screenshot:查看当前的手机屏幕,就是截图
step 2:我们先来看看Inspect Screenshot这个玩意吧!
直接点击Inspect Screenshot会来到一个新的界面,会把当前的手机屏幕截取下来
我们可以在这个界面上看到一个简单的层次树,以及某个为的颜色值,以及相应的坐标等!
我们可以看到一个简单的布局的层次图了,可以满足我们的一些基本需要了
当然,我们肯定不满足只看到布局的层次树,我们想知道相关控件的属性值或者
控件的绘制时间等,那么就要使用更加高级的Load View Hierarchy
step 3:在第一个界面选择正在运行的app的,双击或者选中后点击上方的LoadView Hierarchy
就可以进入到这样一个页面:
ps:图中的右边的四个按钮貌似理解有误:
Invalidate Layout是将xml转换成gpu显示的对象
Request Layout是gpu将displaylist绘制出来
Dump DisplayList:给你看displaylist
Profile Node:剖析节点,点击后会显示控件的相关加载时间
对于上面几个笔者也不是很了解,先记下吧!
step 4:点击Profile Node后,随便选一个节点,进行剖析
从上面我们可以获取到一些相关的信息:
①有2个view,说明当前的控件还含有其他子控件
②Measure,Layout,Draw依次是:测量,不会,绘制的时间
③三个灯也代表上述三个阶段,这个控件所占用的时间百分比:
绿色:表示该控件在该阶段比起其他的50%的控件的速度要快
黄色:表示比起其他的50%的控件的速度要慢
红色:表示该控件在该阶段的处理速度是最慢的
最后一点:
对于Android的UI来说,invalidate和requestLayout是最重要的过程,Hierarchyviewer提供了帮助我们
Debug特定的UI执行invalidate和requestLayout过程的途径,方法很简单,只要选择希望执行这两种
操作的View点击按钮就可以。当然,我们需要在例如onMeasure()这样的方法中打上断点。
这个功能对于UI组件是自定义的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。
New UI-Hierarchy Viewer工具解析app的界面布局相关推荐
- 猫眼APP注册界面布局
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 布局优化工具Hierarchy Viewer
版权声明:本文为博主原创或汇集文章,欢迎注明来源转载.http://blog.csdn.net/u012792686 https://blog.csdn.net/u012792686/article/ ...
- 10.1.5 布局优化利器之 Hierarchy Viewer
无论是哪本讲解布局优化的参考书,它们都不得不提到Hierarchy Viewer.不过,通常情况下,Hierarchy( 英['haɪərɑːkɪ])Viewer无法在真机上进行使用,它只能在工厂的D ...
- APIClound-从0开始写脉脉(1)app的简单布局
参考文章:http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=408 首先,先讲一下app的界面布局. 这里使用一个大 ...
- Android 卡顿优化 3 布局优化 工具 Hierarchy Viewer
欲善其事, 先利其器. 分析布局, 就不得不用到Hierarchy Viewer了. 本文工具使用皆以GithubApp的详情界面RepoDetailActivity为例说明. 为了不影响阅读体验, ...
- Android 实用工具Hierarchy Viewer实战
在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率.其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开 ...
- 安卓布局工具---Hierarchy Viewer
英文释义:Hierarchy--分层.单词意思即为分层视图. 功能:层次Viewer允许你调试和优化您的用户界面.还可以学习别人做好的UI界面,它提供了一个布局的视图层次结构(布局视图)的视觉表现和放 ...
- Appium基础篇5-抓元素工具之UI Automator Viewer
在开始介绍元素定位之前,我们需要介绍一个工具,这个工具是Android SDK 自带的工具,叫UI Automator Viewer,可以在SDK\tools下找到这个工具并启动它,本篇,来介绍下这个 ...
- UI Automator Viewer Error while obtaining UI hierarchy XML file
Error obtaining UI hierarchy Reason: Error while obtaining UI hierarchy XML file: com.android.ddmlib ...
最新文章
- 在ChemDraw中输入千分号的方法
- java代码下划线是啥意思,在这个Java代码中,下划线实际上做了什么?
- 移动水政执法通系统 安卓Android客户端
- 入门Python难不难?零基础到底要怎么学Python?
- 计算机保存的信息是模拟信号,信息技术考试样题(附解析).doc
- 人工智能已经迫在眉睫_创意计算机已经迫在眉睫
- php判断与网站访问时间,织梦CMS模板用php判断某个时间段显示和隐藏内容
- jQuery.treetable使用及异步加载
- 域用用户怎么允许共享_w7如何共享打印机 w7共享打印机步骤【详细介绍】
- python 协程 多线程_python进阶之多线程(简单介绍协程)
- 千年老二的 Python 值得学吗?
- 中国计量学院全国计算机二级报名,中国计量大学教务管理系统入口https://jwc.cjlu.edu.cn/...
- 查询SQLServer的启动时间
- Hdu 1301 Jungle Roads (最小生成树)
- 函数命名空间,函数的名字
- mapgis67安装输入计算机名称,mapgis67_dogserver67.exe_mapgis67安装教程
- 【PI调节】对PI调节的一些认识
- 中国心率监测器行业市场供需与战略研究报告
- 如何设置input只能输入数字
- 女程序员开发软件挂专家号,转手获利被刑拘