识别安卓中意外的 GL 上下文丢失

identifying unexpected gl context loss in android

本文关键字:GL 上下文 意外 识别      更新时间:2023-10-16

当安卓应用程序在后台运行时,安卓操作系统可以在内存不足时清除其资源。

就我而言,是glcontext和GL资源丢失并导致应用程序崩溃。

为了不完全重新启动应用程序,我想确定此事件已发生并重新创建Open GL相关资源。

我无法重现它/强迫这种情况发生。

我的问题是:

检查eglGetCurrentContext() == EGL_NO_CONTEXT是否足以知道上下文丢失了吗? 或者有另一种了解它的方法?

有什么方法可以重现此问题吗?

规格

应用逻辑是使用 C++ SDL2框架。

GL 上下文由 SDL_GL_CreateContext(window) 创建。

如果需要,我可以对Java进行Jani调用。

在您的活动onResume()上,您需要调用eglMakeCurrent()以使您的上下文成为当前上下文。如果上下文已释放,则将 EGL 错误状态设置为 EGL_CONTEXT_LOST