性能优化-UI篇

2018-09-11  本文已影响22人  o动感超人o
  1. 卡顿的定义
  2. Layout Inspector分析view层次


    image.png
  3. 开发者选项,打开Show GPU Overdraw(GPU呈现模式分析)
    绿色横线代表16ms,高于横线的说明该帧超过了16ms的绘制时间


    image.png
  4. 开发者选项,打开调试GPU过度绘制。
    蓝色,淡绿,淡红,深红代表了4种不同程度的Overdraw情况,我们的目标就是尽量减少红色Overdraw,看到更多的蓝色区域。如果是自定义View,可以:
    4.1 过度绘制可以考虑用Canvas.clipRect()方法,指定绘制区域(这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制,其他的区域会被忽视)
    4.2 使用canvas.quickreject()来判断是否没和某个矩形相交,从而跳过那些非矩形区域内的绘制操作。
    4.3 移除不必要的background。
    4.4 等等。。。
    image.png
上一篇 下一篇

猜你喜欢

热点阅读