我希望我的应用程序在 ICS 中得到硬件加速,但仍然需要对 2.3.3 的支持。我可以只为 ICS 启用硬件加速吗?或者我只能放弃 2.3.3 支持?
问问题
9523 次
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 回答