过度绘制(overdraw)优化总结
2018-08-07 本文已影响0人
alvinljn321
在布局中,如果存在多个线性布局重叠时,可以考虑只针对最上层的布局设置背景色,而不需要每一个布局(例如LinearLayout)都设置背景色,过多的相同的背景色会导致过度绘制;
在设计到activity类中,如果牵涉到的布局存在背景色,可以考虑消除窗口的背景色,减少1X的绘制。
在自定义view的onDraw中,如果涉及到重叠的绘制view时,可以考虑利用局部绘制避免过度绘制。
考虑到效率和性能问题,界面是有一定刷新频率的,每一次刷新都会调用View的onDraw方法,而View提前绘制就是在onDraw中进行,避免在onDraw创建对象,避免在onDraw进行绘制,应在构造函数中画好,交给onDraw。
工具:
通过开发者选项开启GPU过度绘制调试