android HierarchyViewer查看视图层级关系

  今天看到一篇文章,讲的是UI过度绘制,里面有提到很多方法,比较不错。想想确实有时候我们在做开发时候,发现UI性能怎么那边差,也没有做什么复杂的操作。那为什么会性能很差呢。也找不到好的办法来分析。但是Android提供了一个工具:HierarchyViewer可视化调试工具,它帮助我们分析View的计算和绘制时间。

 1. 打开Idea开发工具:Tools-->Android-->Android device Monitor

  2.打开adb,连接上模拟器。

    天天模拟器连接地址:adb connect 127.0.0.1:6555

          android HierarchyViewer查看视图层级关系_第1张图片

 3.模拟器启动应用程序,进入到应用页面。

 4.切换到电脑Android device Monitor,点击菜单window-->openperspective,选中hierarchy View;就会出来Tree view,该视图可以展示选中avtivity的所有控件层级。 

 5.再点击左侧要调试的activity等,此时Tree view就会展示出所有的控件。如下:   

android HierarchyViewer查看视图层级关系_第2张图片看   到层级关系,可能会想到:出现性能慢是否和层级太多,布局耗费太多时间?对,所以第一步要检查下布局问题。
   那怎么知道每个控件耗费时间?
   选中视图树里面的控件,点击,就会展示每个控件的详细信息。

                              android HierarchyViewer查看视图层级关系_第3张图片

   但是这样看比较麻烦,每个控件都要点击看一下。有一个快捷的方式可以把所有控件使用时间一下展示出,步骤就是点击右上角的下图中红框的按钮

            android HierarchyViewer查看视图层级关系_第4张图片

   点击或,Tree view里面的所有布局会展示3个点如上图有显示,依次表示:

   计算时间、布局时间、绘制时间。红色就是要关注的了。一张图很好的说明了参数含义:

android HierarchyViewer查看视图层级关系_第5张图片
   有3个颜色:绿色,黄色,红色,红色代表着耗时最长,也就意味着我们需要优化,我们可以不断点击,查看  测量布局以及绘制所需要的时间,从而优化。

  如果发现出现红色,就需要对该控件进行优化了。

  参考:http://www.open-open.com/lib/view/open1421656495031.html

你可能感兴趣的:(个人)