android 过度绘制问题与解决

过度绘制

GPU的绘制过程,就跟刷墙一样,一层层的进行,16ms刷一次,这样就会造成图层覆盖的现象,及无用的图层还被绘制在底层,造成不必要的浪费

GPU过度绘制的几种情况

1.自定义控件中,onDraw方法做了过多重复绘制
2.布局层次太深,重叠性太强,用户看不到区域GPU也会渲染,导致耗时增加。

监测过度绘制

在开发者模式中 打开 调试GPU过度绘制(Profile GPU rendering)
蓝色 绘制一次 无过度绘制
淡绿 绘制两次
淡红 绘制三次
深红 绘制四次
代表四种不同程度的overDraw
尽量减少OverDraw

优化

1.将theme 中的windowBackground 设置成null
2.或者在xml中background重复设置了颜色
3.利用view properties 查看布局层级 减少嵌套

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

推荐阅读更多精彩内容