Подтвердить что ты не робот

Ошибка: createWindowSurface не удалось выполнить EGL_BAD_ALLOC

У меня есть приложение в Google Play для подсчета номеров и букв. В этом приложении у меня есть следующие действия:

  • google sigin
  • archivements
  • admob service

Я использую Google Analytics и ACRA для отчетов об ошибках. Я не использую GLsurfaceView, но я использую ACRA один или два раза в день, что дает мне следующие ошибки:

java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC
at android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:763)
at android.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.java:663)
at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:502)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1325)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2467)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Кто-нибудь знает, что случилось? Я не использую surfaceView; может кто-нибудь мне помочь?

4b9b3361

Ответ 1

У меня была такая же проблема и я обнаружил, что проблема связана с WebView (ов) и аппаратным ускорением на некоторых устройствах.

Вместо того, чтобы полностью отключить аппаратное ускорение, я отключил его для всех моих WebView (s) , включая представление AdMob!

Вот как это сделать:

adView = new AdView(this); //or get it with findViewById()
if (Build.VERSION.SDK_INT >= 11) {
   adView.setLayerType(AdView.LAYER_TYPE_SOFTWARE, null); //instead of LAYER_TYPE_HARDWARE
}

Ответ 2

Вы пытались отключить аппаратное ускорение для своего приложения (он использует OpenGL, следовательно, догадка для этого исправления)?

Добавление

<application android:hardwareAccelerated="false" ...>

К тегу приложения в манифесте будет явно отключено его. И, возможно, проблема исчезнет.

См. этот вопрос с ответами, если вы хотите знать: если следует использовать аппаратное ускорение или нет