HierarchyView

最近到了新公司了之后 使用的这个工具是特别的多。 也很好用。看网上讲解的都很多。我就简单记下就好了。
工具位于 android-sdk\tools\hierarchyviewer.bat

这个是首先这个手机是要root的 ,我的小米没有root 是用不了这个工具的

双击打开后,就可以看到显示了你的手机 还有下面是 竖着的一列 东西(其实这个东西就是 你的界面啦)

1.想要看哪个,双击 或者,点击 最上面的 三个按钮中的 “Load View HierarchyView”

  1. 进去到 View HierarchyView 界面了, 就可以看到的 整个界面的框架结构了,

    左边界面是框架结构, 右边是 界面模型,点击的时候, 都会左右 相互联动

    2.1 会显示的信息有:

    控件类型 例如: TextView
    对象地址 例如: @XXXXXX
    控件ID 例如: id/abc
    性能指示器 三个点分别是 measure ,layout ,draw 的渲染速度(红色代表最慢,黄色中等,绿色最快),上面还会显示 时间 单位(ms)

  2. 最上边的很多按钮的大概意思
    3.1 Save as PNG 保存 png图
    3.2 Capture Layers:
    3.3 Load View Hierarchy: 加载view
    3.4 Evaluate Contrast: 打开了一个单独的窗口显示当前选中的内容
    3.5 Display View: 也是打开一个单独的窗口显示内容多
    3.6 Invalidate Layout: 重绘当前窗口
    3.7 Request Layout: 请求这个view进行layout
    3.8 Dump DisplayList:
    3.9 Dump Theme: 下载这个view主题的资源 ,然后也是打开一个单独的窗口,里面就是那些信息
    3.10 Profile Node: 得到measure,layout,draw的性能指示器。

    基本用法就这样,

在网上还看到一些其他的 这里记录一下

1.如果没有 root的手机是链接不上的

Android系统出于安全考虑,Hierarchy Viewer只能连接开发版手机或模拟器,我们普通的商业手机是无法连上的,这个限制在
frameworks/base/services/java/com/android/server/wm/WindowManageService.java

public boolean startViewServer(int port) {
    if (isSystemSecure()) {
        return false;
    }
    if (!checkCallingPermission(Manifest.permission.DUMP, "startViewServer")){
        return false;
    }
    //……
}

我们要做的就是,修改并替换掉这个文件,使其通过判断。
检验一台手机是否开启了View Server的办法为:
adb shell service call window 3

若返回值是:Result: Parcel(00000000 00000000 ‘……..’) 说明View Server处于关闭状态
若返回值是:Result: Parcel(00000000 00000001 ‘……..’) 说明View Server处于开启状态

2. 我们可以使用以下

命令打开View Server:
adb shell service call window 1 i32 4939
使用以下命令关闭View Server:
adb shell service call window 2 i32 4939

3.HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
http://www.cnblogs.com/coding-way/p/4294225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白的泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值