性能优化-UI篇

  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

你可能感兴趣的:(性能优化-UI篇)