当安卓应用程序在后台运行时,安卓操作系统可以在内存不足时清除其资源。
就我而言,是glcontext
和GL资源丢失并导致应用程序崩溃。
为了不完全重新启动应用程序,我想确定此事件已发生并重新创建Open GL
相关资源。
我无法重现它/强迫这种情况发生。
我的问题是:
检查eglGetCurrentContext() == EGL_NO_CONTEXT
是否足以知道上下文丢失了吗? 或者有另一种了解它的方法?
有什么方法可以重现此问题吗?
规格
应用逻辑是使用 C++ SDL2
框架。
GL 上下文由 SDL_GL_CreateContext(window)
创建。
如果需要,我可以对Java进行Jani调用。
在您的活动onResume()
上,您需要调用eglMakeCurrent()
以使您的上下文成为当前上下文。如果上下文已释放,则将 EGL 错误状态设置为 EGL_CONTEXT_LOST
。