在android系统,运用OpenGL时,出现以下exception, 请问大家有无解决这方面问题的经验
E/AndroidRuntime( 945): FATAL EXCEPTION: GLThread 10
E/AndroidRuntime( 945): java.lang.RuntimeException: eglSwapBuffers failed: EGL_BAD_ALLOC
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1077)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1035)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1333)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
E/AndroidRuntime( 945): FATAL EXCEPTION: GLThread 10
E/AndroidRuntime( 945): java.lang.RuntimeException: eglSwapBuffers failed: EGL_BAD_ALLOC
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1077)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1035)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1333)
E/AndroidRuntime( 945): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1116)
EglHelper.swap是在GLSurfaceView.java文件里的GLThread.guardedRun()调用的,而swap()所在的try没有catch,在try{}和finally{}之间加上catch (RuntimeException e){}就可以了。