Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地帮助开发者分析,设计,调试和调整UI界面,提高开发效率。
如果你是一个布局的高手而且在布局的时候懂得如何减少UI的层次从而达到最精简的布局的话,那么你可以不用看这篇文章了。

一、布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.heraracky.MainActivity"tools:ignore="MergeRootFrame" ><LinearLayoutandroid:layout_width="300dp"android:layout_height="300dp"android:orientation="vertical"android:background="@android:color/darker_gray"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_launcher"/><TextViewandroid:layout_width="200dp"android:layout_height="wrap_content"android:text="textView"/></LinearLayout>
</FrameLayout>

二、启动模拟器并运行程序

布局文件的显示效果如图

三、运行Hierachy Viewer

用命令行运行hierachyviewer.bat

或者是用monitor.bat

monitor只不过是把DDMS视图和Hierarchyviewer视图绑定到了一起,不过我觉得monitor不太好用。

走起!!!

因为模拟器比较慢所以我打算用Hierarchyviewer来看真机的图层可是失败了。

要说明的4个按钮

1、刷新按钮   如果你的图层布局变化了,那么程序从新运行下,在点击该刷新按钮,Hierarchyviewer就会从新获取模拟器上的图层

2、我们选中我们的项目后,点击2按钮就会获取布局信息,并展示图层结构

3、按钮3回到设备以及程序目录视窗

4、按钮4回到布局视图层次机构视窗

对于Android的UI来说,invalidate和requestLayout是最重要的过程,Hierarchyviewer提供了帮助我们Debug特定的UI执行invalidate和requestLayout过程的途径,方法很简单,只要选择希望执行这两种操作的View点击按钮就可以。当然,我们需要在例如onMeasure()这样的方法中打上断点。这个功能对于UI组件是自定义的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。

小结

本文中,通过简单的例子,讲解了在Android中一款不错的工具Hierarchy viewer的使用。

使用这个工具,用户可以很方便地查看和调试应用中的UI界面,分析其性能,建议用户在开发阶段多使用这款工具对UI进行开发设计。

android Tools之Hierachy Viewer的使用相关推荐

  1. Android 实用工具Hierarchy Viewer实战

    在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率.其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开 ...

  2. Android Tools 在线更新SDK Manager

    收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...

  3. No cached version of com.android.tools.build:gradle:2.0.0 available for offline mode.

    异常场景 从AS2.0升级到2.1,重新编译工程后,抛出了如下异常 Error:A problem occurred configuring root project 'AndroidStudioPr ...

  4. Could not find com.android.tools.build:gradle

    Could not find com.android.tools.build:gradle:3.0.0. 或者改代码:根目录下的build.gradle buildscript {repositori ...

  5. 解决delphi10.2.3 android tools闪退

    解决delphi10.2.3 android tools闪退 修改D:\Program Files (x86)\Embarcadero\Studio\19.0\PlatformSDKs\android ...

  6. com.android.tools.build:gradle:2.0.0-alpha3 build errors

    当Android studio 编译时间过长且出现问题比如下面的提示: java.exe'' finished with non-zero exit value 3. 此时就要检查一下跟目录下面的bu ...

  7. 【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )

    文章目录 一. 报错信息 二. 解决方案 一. 报错信息 导入了一个 Eclipse 项目 , 编译后报如下错误 : FAILURE: Build failed with an exception.* ...

  8. AndroidStudio编译提示Could not find com.android.tools.lintlint-gradle26.1.3问题的解决

    打开app同事留下的project,此project用到library,编译此module的时候提示Could not find com.android.tools.lintlint-gradle26 ...

  9. com.android.tools.build:gradle:2.3.3,关于com.android.tools.build:gradle:3.4.2的构建问题

    Android Studio Version:3.4.2 Android Gradle Plugin Version:3.4.2 Gradle Version:5.1.1 根据以上IDE工具以及对应的 ...

最新文章

  1. 计算机基础办公软件应用技能,计算机一级计算机基础及 ms office 应用考些什么...
  2. python 类的魔术方法_python中类的魔术方法
  3. 计算机基础知识-操作系统
  4. 微信开发必看,使用.Net Core 开发微信跨平台应用
  5. 【MFC系列-第18天】企业信息管理软件开发
  6. C函数的实现(strcpy,atoi,atof,itoa,reverse)
  7. oracle或mysql分组查询并且获取前3条排序后的数据
  8. 无法使用集合初始化_Java集合类解析之Hashtable
  9. 10g的客户端从9i的服务器中导出数据时遇到上面的问题
  10. Java基础学习——安装JDK
  11. 【BZOJ-3573】米特运输 树形DP
  12. 三菱伺服驱动器示例_三菱PLC控制伺服电机编程实例
  13. 磁盘管理高级进阶-LVM逻辑卷管理
  14. ajax2 cors跨域,Koa2框架应用CORS完成跨域ajax要求
  15. 2021辐轮王进口中国国内儿童山地自行车哪个品牌好比较好骑行
  16. 从洛伦兹曲线定性地看马太效应的根源
  17. 明争暗斗 京东阿里智能家居大战一触即发
  18. 揭秘金庸笔下的假面江湖
  19. 栈 java 什么意思_java stack什么意思
  20. 基于java毕业设计的汽车销售进销存

热门文章

  1. Amazon Alexa Http2 创建连接介绍
  2. C语言函数——复数四则运算
  3. 基于Matlab的虹膜识别系统(GUI界面)
  4. 苹果手机的uuid查询_苹果如何查看UDID?iPhone/iPad查看UDID教程
  5. pyinstaller如何将自己写的模块一并打包到exe中
  6. 使用python获得N个区分度较高的RGB颜色值
  7. 软件设计师の备考经验帖及复习资料
  8. Windows系统封装部署全过程介绍
  9. IBM power小型机更换硬盘步骤
  10. javascript实现HTML在线编辑器