2

I am working on an Android app and it crashes on a certain x86 device (API 21)which is not happening after turning off hardware acceleration. After a bit of research I found that x86 android devices have hardware acceleration capabilities only in newer versions.

Is there any way to check programmatically in the android app if the device supports hardware acceleration or not?

Edit 2:

Like when you type chrome://gpu into chrome browser and get Graphics Feature Status like Canvas, which I am getting Software only for this device, how can I get that in my android code?

Edit 1:

Crash logs when I try to open youtube.com on a sample app on this x86 device(Dell Venue 8 7840 API 21) with hardware acceleration on:

W/ActivityManager: Exception thrown during pause
W/ActivityManager: android.os.TransactionTooLargeException
W/ActivityManager:     at android.os.BinderProxy.transactNative(Native Method)
W/ActivityManager:     at android.os.BinderProxy.transact(Binder.java:496)
W/ActivityManager:     at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:704)
W/ActivityManager:     at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:825)
W/ActivityManager:     at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2726)
W/ActivityManager:     at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2583)
W/ActivityManager:     at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2537)
W/ActivityManager:     at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:11680)
W/ActivityManager:     at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:11577)
W/ActivityManager:     at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:12261)
W/ActivityManager:     at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:11772)
W/ActivityManager:     at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
Sanket Garg
  • 21
  • 1
  • 5

1 Answers1

-2

Pretty simple

<application android:hardwareAccelerated="true" ...>
DaX
  • 94
  • 1
  • 11
  • I am not talking about enabling and disabling hardware acceleration but the support of hardware acceleration itself – Sanket Garg May 05 '16 at 09:43
  • If you can enable it without errors it means it does supports it – DaX May 05 '16 at 10:05
  • But it crashes whenever I try to do some graphic intensive work like opening youtube.com in the webview, crash logs point to native code – Sanket Garg May 05 '16 at 10:07