выявление неожиданной потери контекста GL в Android - PullRequest
0 голосов
/ 02 июня 2019

когда приложение для Android находится в фоновом режиме, ОС Android может очистить свои ресурсы, если у него мало памяти.

в моем случае это ресурсы glcontext и gl, которые теряются и завершают работу приложения.

, чтобы не перезапускать приложение полностью, я хотел бы определить, что это событие произошло, и воссоздать Open GL связанных ресурсов.

Я не мог воспроизвести это / заставить это произойти.

мои вопросы:

проверяет, достаточно ли eglGetCurrentContext() == EGL_NO_CONTEXT, чтобы узнать, что контекст был утерян? или есть другой способ узнать это?

есть ли способ воспроизвести эту проблему?

спецификация

логика приложения на c ++ с использованием SDL2 framework.

контексты gl создаются SDL_GL_CreateContext(window).

при необходимости я могу делать вызовы jani в java.

1 Ответ

1 голос
/ 02 июня 2019

В вашей деятельности onResume() вам нужно будет позвонить eglMakeCurrent(), чтобы сделать ваш контекст текущим контекстом.Если контекст был освобожден, это установит состояние ошибки EGL на EGL_CONTEXT_LOST.

...