美文网首页
基本的优化总结(五)

基本的优化总结(五)

作者: 范锦浩 | 来源:发表于2018-06-22 18:37 被阅读29次

    导言

    这一节主要介绍测量/布局/绘制的检查工具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提供了一个非常好的方式来分析视图层级和测量、布局及绘制的效率,对于开发者来说实在是不能更方便了

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

    相关文章

      网友评论

          本文标题:基本的优化总结(五)

          本文链接:https://www.haomeiwen.com/subject/oaqlyftx.html