0

我正在用 OpenGLES 1.1(使用 Android 静态 API (GLES11))编写游戏,每次我的游戏活动进入后台(按主页)时,它都会返回黑屏。

我知道纹理和资源已经丢失,但主要问题是 GLThread 不再运行(游戏逻辑基于 GLThread 运行)

我从 logcat 得到的错误是:

E/GLSurfaceView(2604): eglCreateWindowSurface
E/GLSurfaceView(2604): java.lang.IllegalArgumentException: Make sure the SurfaceView or associated SurfaceHolder has a valid Surface
E/GLSurfaceView(2604):  at com.google.android.gles_jni.EGLImpl._eglCreateWindowSurface(Native Method)
E/GLSurfaceView(2604):  at com.google.android.gles_jni.EGLImpl.eglCreateWindowSurface(EGLImpl.java:92)
E/GLSurfaceView(2604):  at android.opengl.GLSurfaceView$DefaultWindowSurfaceFactory.createWindowSurface(GLSurfaceView.java:808)
E/GLSurfaceView(2604):  at android.opengl.GLSurfaceView$EglHelper.createSurface(GLSurfaceView.java:1077)
E/GLSurfaceView(2604):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1471)
E/GLSurfaceView(2604):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

我在活动 onPause 上使用 glSurfaceView.onPause,在活动 onResume 上使用 glSurfaceView.onResume ... 谁能给我一个提示或解释究竟是什么导致了这个错误?

4

1 回答 1

0

我最终在每次调用 onResume 时重新创建 GLSurfaceView (或在第一次调用时创建它)......

于 2013-08-22T04:03:29.990 回答