3

最近,我的应用程序收到了很多评论,说在带有 CM9 的 Android Ice Cream Sandwich 上“它不工作”。我无法在运行 Android 4.0 的模拟器上重现该错误,并且由于 android market 的工作方式,我无法联系这些人询问详细信息。

幸运的是,一份崩溃错误报告引起了我的注意。我Canvas.clipPath用来画圆角......看起来有些手机UnsupportedOperationException在尝试使用该功能时正在抛出。快速浏览一下 Google 会发现,在 Android 4.0 中使用硬件加速似乎是个问题——所以这就是收到评论的潜在原因。

问题是——发生了什么事?在之前的安卓版本中应用程序不是硬件加速的吗?为什么不支持这样的常用功能?解决方法是什么?

Canvas.clipPath 的示例用法可以在我的另一篇文章中找到。在此处查看接受的答案:ListView 中的 Android 圆角

提前致谢

4

2 回答 2

6

在 ICS 中,硬件加速默认开启。在 4.0 之前,默认是关闭硬件加速。硬件加速不支持clipPath(以及其他一些操作,请在此处查看更多信息http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html)我面临同样的问题。作为快速修复,我将关闭整个应用程序的加速,稍后我将重写代码以不使用 clipPath

于 2012-04-10T08:29:37.743 回答
2

您只能在导致问题的特定视图上关闭硬件加速。在这里查看我的答案:https ://stackoverflow.com/a/14054331/596708

于 2012-12-27T12:14:39.387 回答