Моя программа переключается между двумя Activities
, каждый из которых раздувает производное GLSurfaceView
, которое использует VBO.После переключения назад и вперед между этими двумя действиями программа вылетает и выдает следующее исключение.Каждый раз, когда происходит переключение контекста, буферы 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.