android绘制优化
android绘制优化,主要包括以下几块:布局优化、刷新优化和动画优化
布局优化
布局优化主要就是避免过度绘制
过度绘制
- 布局优化主要就是避免过度绘制
- 什么是过度绘制
- 过度绘制,是指在一帧的时间内(16.67ms)某个像素点被绘制了多次,理论上一个像素点每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67毫秒时,就会出现掉帧现象,也就是我们说的卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减少Overdraw的发生
- 查看过度绘制
- 开发者选项中,选择“Debug GPU Overdraw”,选择“Show overdraw areas”
- 没有颜色:表示没有过度绘制,像素只画了一次
- 蓝色:表示overdraw 1倍,像素绘制了2此。大片的蓝色还是可以接收的
- 绿色:表示过度绘制2倍,像素绘制了3次。中等大小的绿色区域是可以接收的但应该尝试优化,减少区域
- 浅红:表示过度绘制3倍,像素绘制了4次,小范围可以接收
- 暗红:表示过度绘制4倍,像素绘制了5次或者更多,这是错误的,要修复
布局优化五大工具
布局优化常常会借助于五大工具来完成,Lint+systrace+Tra