关于过度绘制这一块:
准备工作:手机——>开发者选项——>调试GPU过度绘制
adb命令——>开启『调试 GPU 过度绘制』:adb shell setprop debug.hwui.overdraw show
关闭『调试 GPU 过度绘制』:adb shell setprop debug.hwui.overdraw false
开启GPU调试之后,你的测试机便会呈现出不同的颜色:
这两张图比较,大家可能会更明白你的项目究竟过度绘制了几层
然后就分析问题:过度绘制就是上层覆盖下层,导致下层绘制没有得到展示,做了无用功
过度绘制的经典场景:Activity根布局设置了背景,但是Activity本身有一个默认背景,这样就会出现,默认背景——>根布局背景,最终显示的根布局背景,而默认背景虽然绘制了,但是没有显示,这就导致了过度绘制,因此可以在Activity的onCreate方法中通过getwindow().setbackgrounddrawable(null)取消默认背景的绘制,这就实现了性能上的优化,关于过度绘制的性能优化,大概就是这样一个思路,如果存在被覆盖的背景绘制,就可以考虑取消掉,实现性能优化。