2

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

@RomainGuy有一篇 2009 年的旧帖子说它没有,但他说他计划添加该功能。他有吗?

4

2 回答 2

0

好的,我终于找到了@RomainGuy博客。虽然我在那里找不到确切的答案,但它在一篇文章中有所介绍。他谈到了过度绘制,虽然没有明确说明,但暗示几乎没有进行任何优化。

文章中可以看出,消除重叠绘图可以显着提升性能。SDK 中甚至还有一个工具可以检查发生了多少此类透支。

于 2013-01-27T14:27:20.603 回答
0

不是 100% 确定,但这是我的 2c:

Lint 仍然抱怨多余的背景。也就是说,如果您有一个完全由 ListView 填充的 FrameLayout 并在两者上设置背景颜色,它会抱怨。这向我表明,没有任何东西被优化掉。

此外,我没有进行任何真正的测试,这完全是轶事,但我“感觉”当从 Fire HD (4.0.3) 上的 FrameLayout 中删除背景颜色时,我看到了性能改进。

于 2013-01-05T02:28:37.243 回答