Android是否对不透明视图进行了优化?



在2013年,如果视图完全不透明,Android是否足够聪明,不会绘制底层背景?如果是这样,如何告诉它视图总是不透明的(在代码中,而不是在XML中)?我有一个不透明背景的ListView,我想让它更平滑。

@RomainGuy在2009年的一篇老文章中说没有,但他说他计划加入这个功能。他了吗?

不是百分之百确定,但这是我的2c:

Lint仍然抱怨冗余的背景。也就是说,如果你有一个完全由ListView填充的FrameLayout并在两者上设置背景色,它会抱怨。在我看来,这表明没有什么是被优化掉的。

同样,我没有做过真正的测试,这完全是轶事,但我"感觉"我看到了性能的提高,当从Fire HD(4.0.3)的帧布局中删除bg颜色。

好了,我终于找到@RomainGuy的博客了。虽然我在那里找不到确切的答案,但在一篇文章中有提到。他谈到了透支,虽然没有明确说出来,但暗示几乎没有任何优化。

从文章中可以明显看出,消除重叠绘图可以极大地提高性能。SDK中甚至有一个工具来检查这种透支发生了多少。

最新更新