改变背景颜色而不增加GPU过度绘制 - Android

时间:2013-08-12 22:21:14

标签: android background styles

我知道使用android:background来改变背景颜色,但这会增加GPU必须绘制到应用程序的另一层。我想知道是否有办法改变一些东西来设置样式的背景而不添加另一层GPU透支。也许它可以用某种风格来完成,但我尝试过的风格似乎只是重绘在普通光主题背景的顶部。

1 个答案:

答案 0 :(得分:1)

在res / values文件夹中创建一个文件并为其命名。例如theme.xml

<resources>
    <style name="Theme.NoBackground" parent="android:Theme">
        <item name="android:windowBackground">@null</item>
    </style>
</resources>

对于父级,请使用您在应用程序清单中使用的任何主题。逻辑是,您正在扩展父主题并设置背景属性。

在您的清单文件中,将新样式设置为application标记之间的应用主题。

android:theme="@style/Theme.NoBackground"

这将删除主题背景,因此您必须为布局中的每个活动设置背景。如果要为所有应用程序设置一个背景,而不是null分配您的可绘制内容。 像这样的东西

<item name="android:windowBackground">@drawable/abc</item>

Romain Guy在本文中解释了这一点,我只是想为你简化:

http://www.curious-creature.org/2009/03/04/speed-up-your-android-ui/