2013-11-22 15 views
26

Ich habe eine Anwendung bei Google Play für das Herunterzählen von Zahlen und Buchstaben. In dieser Anwendung habe ich folgende Tätigkeiten:Fehler: createWindowSurface fehlgeschlagen EGL_BAD_ALLOC

  • google sigin
  • archivements
  • admob Service

ich Google Analytics und ACRA für Fehlerberichterstattung. Ich benutze GLsurfaceView nicht, aber ich benutze ACRA ein oder zwei Mal pro Tag, die mir diese Fehler gibt:

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) 

Wer weiß, was passiert ist? Ich verwende keine Oberflächenansicht. Kann mir jemand helfen?

+1

Got es behoben? Ich denke es ist wegen admob – xmen

+0

Verwenden Sie Bilder als Hintergrund der Aktivität? Geräte haben eine maximale Auflösung der Bilder, die verwaltet werden können (abhängig von den Geräten). Wenn Sie ein Bild erstellen und verwenden möchten, das größer als diese Auflösung ist, erhalten Sie einen GL-Fehler. – PoOk

+0

Vielleicht ist es für admob, was kann ich tun? Ich habe Bilder im Hintergrund, aber es Gewicht ist 80kb ... – cayrodev

Antwort

2

Haben Sie versucht, Hardwarebeschleunigung für Ihre App zu deaktivieren (es nutzt OpenGL, also die Vorahnung für diesen Fix)?

Hinzufügen

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

Zur Anwendung Tag im Manifest wäre es explizit ausschalten. Und vielleicht wird das Problem verschwinden.

Sehen Sie diese Frage mit Antworten, wenn Sie wissen wollen: if should use hardware acceleration or not

+0

Vielleicht nur die bestimmte "Aktivität" wie die AdActivity? –

7

Ich hatte das gleiche Problem und fanden heraus, dass das Problem zu WebView (n) und Hardware-Beschleunigung auf einigen Geräten zusammenhängt.

Anstatt die Hardwarebeschleunigung vollständig abzuschalten, habe ich sie für alle meine WebViews einschließlich der AdMob-Ansicht deaktiviert!

hier, wie es geht:

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 
} 
+3

Gibt es eine Möglichkeit, das Gleiche mit InterstitialAd zu tun? – deko

Verwandte Themen