1. 查看代码过度绘制
手机设置 -> 开发者选项 -> 调试GPU过度绘制
绿色:正常;
红色:过度绘制;
2. 过度绘制原因
在请求接口后用 setText、setImageView、setVisbility等更新数据时,会调用 onInvalidate,这个方法只要一调用,就会先往外边draw一遍,然后再往里边draw一遍,如果多次调用 setText、setImageView、setVisbility的话,draw的布局就会很多,导致运行速度变慢
3. 解决方案
1>:xml尽量不要嵌套;
2>:xml中能不设置background就尽量不要设置 background;
3>:如果根布局 和 子view的background一样,就给根布局设置就ok,不要给子view设置;
网友评论