Marcos Vasconcelos
Marcos Vasconcelos

Reputation: 18276

Use hardwareAcceleration flag with Canvas.clipPath

I'm porting a project made for the Galaxy Tab 1, for Galaxy Tab 2, but the apk runs slowly so I added the hardwareAccelerated flag on the AndroidManifest.XML of the new application.

But running give me the following error:

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)

Upvotes: 3

Views: 4157

Answers (2)

Dmytro Boichenko
Dmytro Boichenko

Reputation: 5407

I had the similar problem in my project with ImageView which doesn't support hardware acceleration. I circumvented this problem with this code:

mImageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

It work's for me.

Upvotes: 11

Parmaia
Parmaia

Reputation: 1172

To prevent issues related to the version of the sdk, you should use:

if (android.os.Build.VERSION.SDK_INT >= 11) {
    mapView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
} 

I was getting java.lang.NoSuchMethodError: setLayerType.

This post is only for clarifying things.

Upvotes: 3

Related Questions