使用hdpi资源时Android应用程序滞后

时间:2011-09-11 20:36:06

标签: android

我遇到了一个相当奇怪的问题。我正在为Android制作游戏,直到现在我一直在使用基线(mdpi)密度的精灵。基本上我会将所有精灵都转储到/res/drawable文件夹中;没有用于不同屏幕密度的文件夹。我目前正在屏幕密度为hdpi的物理设备上测试我的应用程序,所以我自然创建了一个/res/drawable-hdpi文件夹,并将所有缩放的位图放在那里。但是,我的应用似乎运行得很慢;当它试图绘制和动画所有游戏对象时,存在巨大的滞后。当我使用/res/drawable文件夹的内容时,这不会发生。

我试图在我的AndroidManifest.xml文件中使用supports-screens标记,但它们似乎并没有做太多。这就是我所拥有的:

    <supports-screens android:resizeable="true"
                  android:smallScreens="false"
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:anyDensity="true"/>

当然,使用不同密度的位图不仅仅是将缩放版本转储到各自的文件夹中。

1 个答案:

答案 0 :(得分:2)

我有同样的问题。如果你正在编写游戏,并使用Android表面这样做,这将会发生。如果您的游戏处于早期开发阶段,我建议将您拥有的内容移植到OpenGL中。使用标准表面没有硬件加速(至少现在还没有)。我唯一的建议是,如果你要保持表面模式,优化优化优化。将所有图形压缩到256种颜色,只在必要时使用透明度,并为用户提供许多性能选项。喜欢关闭背景,或使用低分辨率资源等。