一旦加载完成。跟踪显示你每GL命令发送到GPU的每个捕获的帧。 如果你下载了我的跟踪文件,跳转到21帧。当某一帧被选中你可以看到类似Frame Summary 选项卡情形. 另外,你可以点击蓝色高亮绘制的命令,在Details 选项卡中查看当前帧的状态。
通过点击先后在前三个绘图命令,你可以看到在PS已经确认的问题;一个全屏背景绘制3次。 通过向下追溯查找,我们可以进一步地找到更多有待优化的。当一个tweet(列表项目)被绘制的时候,一个ImageView控件用来绘制图像。控件首先绘制图像本身的背景:
如果你凑近一点看,你会发现背景只是作为图片的边框。这意味着在图像背景中间黑色的部分过度绘制了。9-patch部分都被图像覆盖了。 这个问题的简单解决方法是把9-patch中间部分设置为透明。 Android的 2D渲染器总是把9-patch优化为透明。这个简单的改变将会去掉很多的过度绘制。 有趣的是, 相同确切的问题发生与内联元素。头像小不是个大问题,但内联元素却能够占据屏幕的绝大部分区域。解决方法是完全一样的。
|