Я работаю над приложением для Android, и оно дает сбой на определенном устройстве x86 (API 21), чего не происходит после отключения аппаратного ускорения. После небольшого исследования я обнаружил, что устройства Android x86 имеют возможности аппаратного ускорения только в более новых версиях.
Есть ли способ программно проверить в приложении для Android, поддерживает ли устройство аппаратное ускорение или нет?
Редактировать 2:
Например, когда вы вводите chrome: // gpu в браузере Chrome и получаете статус графической функции, такой как Canvas, который я получаю только для этого устройства, как я могу получить это в своем коде Android?
Редактировать 1:
Журналы сбоев при попытке открыть youtube.com в примере приложения на этом устройстве x86 (Dell Venue 8 7840 API 21) с включенным аппаратным ускорением:
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)