【问题标题】:How to check if EGL Context was preserved or not?如何检查是否保留了 EGL 上下文?
【发布时间】:2012-03-29 19:55:09
【问题描述】:

setPreserveEGLContextOnPause Android 函数的文档说明如下:

"...如果设置为 true,则 EGL 上下文可能在 GLSurfaceView 暂停时被保留..."

如何在我的活动恢复时检查 EGLContext 是否保留?

如果没有保留 EGLContext,我需要重新加载所有纹理,这就是它对我很重要的原因。

我唯一能找到的可能与这个问题有关的是 getPreserveEGLContextOnPause() 方法。但是这个方法只有在 EGLContext 会被保存的情况下才返回 true,而且即使保存了它也可能在以后被系统删除,所以这似乎并没有什么帮助。

【问题讨论】:

    标签: android opengl-es


    【解决方案1】:

    根据this text,你不需要。上下文丢失是隐含的,无法观察到。当onSurfaceCreated() 被调用时,你知道上下文(已经丢失|从未创建)并且必须重新创建。

    另外,一种可能的解决方法是创建一些实际上从未使用过的小对象,但同时表明上下文没有丢失。不过,我不确定这是否可行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2017-05-26
      • 2018-01-03
      相关资源
      最近更新 更多