我正在使用OpenGLES 1.1(使用Android静态API(GLES11))编写游戏,每当我的游戏活动进入后台(按Home)时,它就会以黑屏返回。
我知道纹理和资源已经丢失,但主要问题是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 ... 任何人都可以给我一个提示或解释究竟是什么导致这个错误?
答案 0 :(得分:0)
每次调用onResume时我都会重新创建GLSurfaceView(或者在第一次调用它时创建它)...