2

我希望我的应用程序在 ICS 中得到硬件加速,但仍然需要对 2.3.3 的支持。我可以只为 ICS 启用硬件加速吗?或者我只能放弃 2.3.3 支持?

4

3 回答 3

4

直到 3.0 才添加硬件加速。这不是问题。

参考:http: //developer.android.com/guide/topics/graphics/hardware-accel.html

于 2012-06-19T21:51:23.330 回答
3

在 ICS (android 4+) 上,GPU 加速默认启用,可以在清单中禁用。

直到姜饼,包括,(直到 android 2.3.x),它被禁用,因为它根本不可用。

在honeycomb (android 3.x) 上,默认禁用,但可以在清单中启用。

于 2012-06-19T21:57:51.407 回答
3

这里还有别的东西。

我为我的一款游戏启用了硬件加速,它在 ICS 上运行良好,但当我上传到市场时,我收到很多报告说这款游戏几乎不能玩了。

我联系了其中一个用户,并为他提供了另一个版本,只是关闭了硬件加速。他声称效果更好,而且他正在使用姜饼。

根据官方文档,启用硬件加速对姜饼没有任何影响。但是我的经验是它有。

此外,官方文档声称,如果您不声明它并且您的目标是 ICS,则默认启用它。但是,当我明确打开它时,我看到动画、滑动和滚动有了明显的改进。

因此,官方文档不正确,有理由手动禁用/启用某些版本的硬件加速。

我将在清单中禁用硬件加速并使用以下代码。

if (android.os.Build.VERSION.SDK_INT>=11) {
   getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}

如果这能解决我的问题,我会告诉你的,我希望如此。

编辑:它工作得很好,我不再收到用户的抱怨。

于 2012-08-10T07:41:13.930 回答