前言

最近看到这篇文章《Android UI性能优化详解》,里面使用了Hierarchy Viewer来对布局进行优化。开发android这么久了,一直都有听过这个工具,但是重来都没真正去使用过,不得不说是一种失败。现在刚好趁着空闲,研究一下Hierarchy Viewer的使用方法。

启动Android Device Monitor

网上搜索了教程,直接在sdk>tools下面找到hierarchyviewer.bat双击运行,然后运行成功了。
但是出现这个提示:

The standalone version of hieararchyviewer is deprecated.
Please use Android Device Monitor (tools/monitor.bat) instead.

大概意思是说,单独版本的 hieararchyviewer 已经被弃用了。请使用 Android Device Monitor来代替。Android Device Monitortools目录下面找到monitor.bat即可。

为了紧跟时代潮流,就决定用Android Device Monitor了!

但是每次都从tools目录下面去启动Android Device Monitor,也太麻烦了吧。万能的Android Studio下面就不能直接启动吗?

答案是:当然可以!有两种启动方式。(Android Studio 2.2版本已经没有底二种了)

  1. 第一种
    依次点击菜单Tools>Android>Android Device Monitor,如下图:

    启动Android Device Monitor

2. 第二种
直接点击菜单下面,问号旁边的图标,如下图:

启动Android Device Monitor

打开Hierarchy Viewe

启动Android Device Monitor成功之后,在新的的窗口中点击切换视图图标,选择Hierarchy Viewe,如下图:

打开Hierarchy Viewe

使用Hierarchy Viewer

由于一直都是用真机开发,启动之后,发现没有看到应有的效果,出现了下面的错误:

[2016-04-15 15:44:26 - hierarchyviewer]Unable to get view server version from device 2d2843d
[2016-04-15 15:44:26 - hierarchyviewer]Unable to get view server protocol version from device 2d2843d

发现是因为真机不能获取到view server的原因。
该问题的详细原因:为什么HierachyViewer无法连接真机调试

目前手上没有能开启view server,所以只能使用模拟器了。
之前的Genymotion模拟器被我删掉了,就只能用自带的模拟器了╮(╯_╰)╭ 但是手头上的项目只支持arm架构的模拟器运行,不能用Intel HAXM去加速了,所以说了这么多废话的目的是为了说明:自带的模拟器真的太慢了!
然后进入漫长的等待……
……
……
……
一小时过去了!然后到下班时间了!-_-||
抱歉看不到运行结果了!
看不到结果表示遗憾,开启步骤已经说完了,具体的使用情况这里不再说明。网上很多,这里贴出一个(开头已经提过):
《Android UI性能优化详解》](http://mrpeak.cn/android/2016/01/11/android-performance-ui)

得下班了!就写到这里,全文结束!


为了防止有人日狗,造成不良的社会影响,特补充运行结果截图:

运行结果

友情提示:APP先运行起来再使用Android Device Monitor

在Android Studio下使用Hierarchy Viewer的更多相关文章

  1. Android Studio下HierarchyViewer的使用

    什么是HierarchyViewer Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的 ...

  2. Android studio下gradle Robolectric单元测试配置

    android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供 ...

  3. Android studio 下JNI编程实例并生成so库

    Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...

  4. Android Studio下打jar包

    在我们使用Eclipse时,我们常常使用的第三方类库文件大多都是jar包形式,用起来很方便.但是jar包只能打包class文件,对于Android UI类库而言,我们常常需要打包资源文件,对于界面不多 ...

  5. Android Studio下导出jar包和aar包

    Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个 ...

  6. Android Studio下多渠道打包

    Android Studio下实现多渠道打包 直接上步骤 步骤 1. 清单文件添加属性(以友盟统计为例) 在application标签下添加meta-data属性 <application -- ...

  7. Android Studio下使用NDK的流程

    我要重新拿回持之以恒徽章!! 老规矩,先说看能学会什么:ANDROID STUDIO下NDK的使用方法.JNI的基本使用方法,C语言调用JAVA的方法. 首先要下载NDK,如果你没有VPN可以来htt ...

  8. Android studio 下 JNI 开发实例

    在AS中进行 NDK 开发之前,我们先来简单的介绍几个大家都容易搞懵的概念: 到底什么是JNI,什么是NDK? 何为“交叉编译”? 先看什么是 JNI?JNI 的全称就是 Java Native In ...

  9. Android Studio下添加assets目录

    Android Studio下添加assets目录 分类: Android Studio2013-11-06 18:09 10872人阅读 评论(2) 收藏 举报 android studioasse ...

随机推荐

  1. 在alert里面加入一个页面,子页面传值父页面

    把easyDialog v2.0这个插件加入到了项目中,在做选择部门功能时运用这个插件,在easyDialog.open里面的content函数中套了一个iframe标签,把部门页面的地址放入到src ...

  2. 21 段实用便捷的 PHP 代码

    PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的 PHP 开发 ...

  3. ip 核生成 rom 及questasim仿真时需要注意的问题

    IP 核生成 ROM 步骤1:Tools --> MegaWizard Plug-In Manager 步骤2:Create a new custom megafuction variation ...

  4. 思路清奇:通过 JavaScript 获取移动设备的型号

    我们一般在浏览器里识别用户的访问设备都是通过 User Agent 这个字段来获取的,但是通过它我们只能获取一个大概的信息,比如你用的是 Mac 还是 Windows,用的是 iPhone 还是 iP ...

  5. vue学习:解决Apycharm的 * is only available in ES6(use 'esversion: 6') 问题

    使用pycharm打开main.js,代码前出现黄点,js报错了 把鼠标移至import的波浪线上,出现提示:W119 - ‘import’  is only available in ES6(use ...

  6. A* k短路 学习笔记

    题目大意 n个点,m条边有向图,给定S,T,求不严格k短路 n<=1000 m<=100000 k<=1000 不用LL 分析 A*算法 f(i)表示从S出发经过i到T的估价函数 \ ...

  7. 我要好offer之 系统基础大总结

    1. APUE Unix环境高级编程 (1) Unix基础知识: 内核->系统调用->shell和库函数->应用软件 (2) 文件I/O:read函数返回值.进程的文件描述符表.文件 ...

  8. APUE 学习笔记(六) 进程控制

    1. fork 创建新进程 fork创建的新进程称为子进程,fork函数调用一次,返回两次. 两次返回的唯一区别就是子进程的返回值是0,而父进程的返回值是新子进程的进程ID 在fork之后是父进程先执 ...

  9. HDU1071 The area

    Ignatius bought a land last week, but he didn't know the area of the land because the land is enclos ...

  10. 【BZOJ4945&&UOJ317】游戏(2-sat,拓扑序)

    题意: 思路: 输出方案时有一个优秀的性质可以利用: tarjan缩点之后点所属的分量编号是原图的反的拓扑序 所以只需要在两种方案内找到所属分量编号较小的那个就行了,用来满足(i,i')那个限制 #i ...