Android 将硬件加速标志与Canvas.clipPath一起使用
我正在为Galaxy Tab 1和Galaxy Tab 2移植一个项目,但apk运行缓慢,因此我在新应用程序的AndroidManifest.XML上添加了hardwareAccelerated标志 但运行时会出现以下错误:Android 将硬件加速标志与Canvas.clipPath一起使用,android,android-3.0-honeycomb,opengl-es-2.0,android-canvas,Android,Android 3.0 Honeycomb,Opengl Es 2.0,Android Canvas,我正在为Galaxy Tab 1和Galaxy Tab 2移植一个项目,但apk运行缓慢,因此我在新应用程序的AndroidManifest.XML上添加了hardwareAccelerated标志 但运行时会出现以下错误: java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287) at br.com.iba.view.PageCur
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)
at br.com.iba.view.PageCurlView.drawCurl(PageCurlView.java:284)
at br.com.iba.view.PageCurlView.onDraw(PageCurlView.java:353)
at android.view.View.draw(View.java:9291)
我在ImageView项目中遇到了类似的问题,它不支持硬件加速。我用这段代码绕过了这个问题:
mImageView.setLayerType(View.LAYER\u TYPE\u软件,空)代码>
它适合我。要防止与sdk版本相关的问题,您应该使用:
if (android.os.Build.VERSION.SDK_INT >= 11) {
mapView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
我得到了java.lang.NoSuchMethodError:setLayerType
这篇文章只是为了澄清问题。好吧,禁用它是可行的,但运行缓慢,因为没有使用硬件加速。关于硬件加速可能会对你有所帮助。谢谢,看起来不错。但我在这里提到的问题是CustomView包含所有的逻辑和视图,我不能为此禁用硬件加速。