Моя программа переключается между двумя Activities
, которые каждый раздувают производный GLSurfaceView
, который использует VBOs. Несколько раз переключаясь между двумя действиями, программа вылетает и выдает следующее исключение. Каждый раз, когда имеется контекстный переключатель, буферы VBO удаляются, вызывается onStop(), а новый экземпляр следующего действия GLSurfaceView
раздувается. Я реорганизовал программу для работы только с одним GLSurfaceView
и Activity
, и программа, похоже, запускается без инцидентов. Используются только полигоны и цвета, без текстур. Здесь урон:
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)
Из нескольких интернет-исследований это признанная ошибка. Итак, как я могу контролировать ущерб? +200 для подталкивания в правильном направлении.
РЕДАКТИРОВАТЬ: Я РЕШАЛ ПРОБЛЕМУ (Я ВЫБИРАЛ, ЧТОБЫ ПРИЗЫВАТЬ ONPAUSE()/ONRESTART() НА ПРОСМОТРАХ). ПЕРВЫЙ ЧЕЛОВЕК ОТПРАВЛЯЕТ ОТВЕТ ОТ НИЧЕГО, ЧТО ТАКОЕ ПОЛУЧИТ +200.