基本的优化总结(五)

导言

这一节主要介绍测量/布局/绘制的检查工具Hierarchy,上节提到了一些优化手段,不过这也需要工具来帮助我们确认整个优化的效果

使用准备

1.首先打开Android Device Monitor,也就是DDMS
2.点击Hierarchy View
3.如果此时没有反应或者提示连接失败,那么可以使用ViewServer来辅助,有的话忽略后面的行为
4.导入ViewServer之后在想要分析的页面使用,如果无法通过依赖导入,那么可以直接通过import module的方式来添加

实例

接着在想要进行分析的Activity中添加指定代码即可,当然了,如果项目中有BaseActivity的话,直接在Base里面添加就OK了

class TestMeasureActivity : Activity(){
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test_rl_measure)
        ViewServer.get(this).addWindow(this)
    }

    override fun onResume() {
        super.onResume()
        ViewServer.get(this).setFocusedWindow(this)
    }

    override fun onDestroy() {
        super.onDestroy()
        ViewServer.get(this).removeWindow(this)
    }

}

5.重启DDMS,然后点击Hierarchy View

使用

实例

重点看图中的三个红框
1.右上角的按钮:首先选中顶层视图,然后点击右上角的按钮,此时就会把圆点等数据显示出来
2.三个圆点:从左到右分别表示测量、布局和绘制的耗时相对状态,红色表示是整个绘制当中占比时间比较大的,是最值得关注的,黄色次之,其次才是绿色
常用于找寻重灾区,从而进行局部优化
3.框内的具体数据:其实就是测量、布局和绘制所花费的具体时间,之前的文章提到用Systrace来看,明显不如使用Hierarchy View来看的实际,非常的明显,优化的效果也很直接
4.Hierarchy View非常直观的展示了视图的层级,从而可以方便我们进行优化,比方说找寻同样的节点进行merge优化等等

总结

Hierarchy View提供了一个非常好的方式来分析视图层级和测量、布局及绘制的效率,对于开发者来说实在是不能更方便了

文章系列:
基本的优化总结(一)
基本的优化总结(二)
基本的优化总结(三)
基本的优化总结(四)
基本的优化总结(五)
基本的优化总结(六)
基本的优化总结(七)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,019评论 3 119
  • 同为奴隶题材,很多人都把这部电影和昆汀的姜戈做比较,认为此片相比充满戏剧感热血高潮不断,血浆与正义齐飞的姜戈来说简...
    布响阅读 854评论 3 1
  • 工作调动,配置新环境的时候出了个头疼的问题。在新开发机上使用vncvncserver start或者vncserv...
    pangqiu阅读 705评论 0 0
  • 这世上永远有两种人:一种人生命的目的,并不是为了存在,而是为了燃烧,燃烧才有光亮,哪怕只有一瞬的光亮也好;另一种人...
    如释笔记阅读 933评论 0 2