Mein Programm schaltet zwischen zwei Activities
die jeweils eine abgeleitete GLSurfaceView
die VBOs verwendet. Nachdem ein paar Mal zwischen den beiden Activities hin- und hergeschaltet wurde, stürzt das Programm ab und löst die folgende Ausnahme aus. Bei jedem Kontextwechsel werden die VBO-Puffer gelöscht, onStop() wird aufgerufen und eine neue Instanz der nächsten Activity's GLSurfaceView
aufgeblasen ist. Ich habe das Programm so umgestaltet, dass es nur mit einem GLSurfaceView
y Activity
und das Programm scheint ohne Probleme zu laufen. Es werden nur Polygone und Farben verwendet, keine Texturen. Hier ist der Schaden:
Java.lang.RuntimeException: createContext failed: EGL_BAD_ALLOC
at android.opengl.GLSurfaceView$EglHelper
.throwEglException(GLSurfaceView.java:1079)
at android.opengl.GLSurfaceView$EglHelper
.throwEglException(GLSurfaceView.java:1071)
at android.opengl.GLSurfaceView$EglHelper
.start(GLSurfaceView.java:927)
at android.opengl.GLSurfaceView$GLThread
.guardedRun(GLSurfaceView.java:1248)
at android.opengl.GLSurfaceView$GLThread
.run(GLSurfaceView.java:1118)
Eine Internetrecherche hat ergeben, dass es sich um eine erkannter Fehler . Wie kann ich also Schadensbegrenzung betreiben? +200 für einen Schubs in die richtige Richtung.
EDIT: ICH HABE DAS PROBLEM GELÖST (ICH HABE VERGESSEN, ONPAUSE() / ONRESTART() IN DEN ANSICHTEN AUFZURUFEN). DIE ERSTE PERSON, DIE EINE ANTWORT AUF IRGENDETWAS GIBT, BEKOMMT +200.