java - makeroid - surfaceview holder
ERROR: createWindowSurface falló EGL_BAD_ALLOC (2)
Tengo una aplicación en Google Play para contar números y letras. En esta aplicación tengo las siguientes actividades:
- google sigin
- archivamientos
- servicio de admob
Uso Google Analytics y ACRA para informar errores. No uso GLsurfaceView, pero uso ACRA una o dos veces al día, lo que me da estos errores:
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)
¿Sabe alguien que ha pasado? No uso surfaceView; ¿Alguien puede ayudarme?
¿Ha intentado deshabilitar la aceleración de hardware para su aplicación (está utilizando OpenGL, por lo tanto, el problema de esta solución)?
Añadiendo
<application android:hardwareAccelerated="false" ...>
A la etiqueta de aplicación en el manifiesto se la desactivaría explícitamente. Y tal vez el problema se vaya.
Vea esta pregunta con respuestas si desea saber: si debe usar aceleración de hardware o no
Tuve el mismo problema y encontré que el problema está relacionado con WebView (s) y la aceleración de hardware en algunos dispositivos.
En lugar de desactivar por completo la aceleración de hardware, ¡la inhabilité para todas mis vistas web, incluida la vista AdMob !
Aquí cómo hacerlo:
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
}