在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) 

解决方案 »

  1.   

    framework抛出来的,需要在framework层去catch.
      

  2.   

    我也遇到这个问题,根据2楼的提示,解决方法如下:
    EglHelper.swap是在GLSurfaceView.java文件里的GLThread.guardedRun()调用的,而swap()所在的try没有catch,在try{}和finally{}之间加上catch (RuntimeException e){}就可以了。
      

  3.   

    erroe/surface invalid token(identity=438)又出了新的错误!怀疑是不是OPENGL的对象不够什么的。