1.减少背景的使用
取消 activity_main.xml的TextView的背景。
因为在布局中设置了背景色,所以取消MainActivity中window自带的背景色,减少过度绘制
getWindow().setBackgroundDrawable(null);
- 因为自定义控件OverdrawView占满了整个屏幕,所以取消OverdrawActivity的背景
getWindow().setBackgroundDrawable(null);
2、 在OverdrawView的绘制过程中存在叠加绘制,相当于有部分的屏幕绘制了2-4次。
所以,更改绘制区域Rect的上下左右坐标,只绘制能显示的部分。
int width = getWidth();
int height = getHeight();
mPaint.setColor(Color.GRAY);
canvas.drawRect(0,0,width,height/4, mPaint);
mPaint.setColor(Color.CYAN);
canvas.drawRect(0,height/4,width,height/3, mPaint);
mPaint.setColor(Color.DKGRAY);
canvas.drawRect(0,height/3,width,height/2, mPaint);
mPaint.setColor(Color.LTGRAY);
canvas.drawRect(0,height/2,width,height, mPaint);