最近做应用性能优化,到了GPU过度绘制这一块,打开手机调试GPU过度渲染调试一看,我去界面好红啊.... 然后打开某知名音乐APP一看,找了一个和我的界面类似的界面看看,发现果然是知名APP界面基本全是蓝的绿的。
不行了,我要优化!打开自己的layout界面,发现这已经写的很好了,界面层级不深。可人家那个是怎么做的呢,本着学习的精神,使用层级视图工具,看了一下他们的界面层级,发现他们布局界面一层套一层的,比我套的深多了......这是怎么回事呢?
然后我试着修改我的布局,发现去掉界面的background之后,情况好多了,也基本全是绿的。
我发现关键不是背景,就算连上背景,他们那个界面需要绘制的东西也不多。他们的套的虽深,但绘制东西不多。我们的不深,但有background,imageview,textview什么的,绘制的多。也就是说**,嵌套的多,GPU过度绘制,检测不到**。
以前以为那个GPU过度绘制是检测层级是不是嵌套的深的,原来是检测是不是绘制的东西多,和布局嵌套层级没有关系,关键看这个层级有没有着色。
转载于:https://my.oschina.net/u/2606060/blog/853653