Android简单的布局优化

简单的布局优化

Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,那么整个过程如果保证在16ms以内就能达到一个流畅的画面。

检测:

1. 设置 -> 开发者选项 -> 调试GPU过度绘制 -> 显示GPU过度绘制 

2. ADB指令

打开调试GPU过度绘制 adb shell setprop debug.hwui.overdraw show      

关闭调式GPU过度绘制 adb shell setprop debug.hwui.overdraw false

效果

无过度绘制(一个像素只被绘制了一次) (原色) 

过度绘制x1(一个像素被绘制了两次) (蓝色) 

过度绘制x2(一个像素被绘制了三次) (绿色) 

过度绘制x3(一个像素被绘制了四次) (粉色) 

过度绘制x4+(一个像素被绘制了五次以上) (红色)

避免过度绘制处理:

一:移除不必要的background

二:clipRect:去掉重复绘制部分。

多重嵌套问题:

1.使用ConstraintLayout,可以实现完全扁平化的布局,减少层级。

2.RelativeLayout本身尽量不要嵌套使用。

3.嵌套的LinearLayout中,尽量不要使用weight,因为weight会重新测量两次。

4.推荐使用merge标签,可以减少一个层级。

5.使用ViewStub延迟加载。

总结:

Android简单的布局优化_第1张图片

 

你可能感兴趣的:(android,android,布局优化)