GlThread比较常见的问题

问题描述:GlSurfaceView运行一段时间之后就会停止渲染,main线程还在继续运行,界面没有反应

经调试发现报错log:

E AndroidRuntime: java.lang.RuntimeException:eglSwapBuffers failed: EGL_BAD_SURFACE
E AndroidRuntime:  atandroid.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1105)
E AndroidRuntime:  atandroid.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1063)
E AndroidRuntime:  atandroid.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1406)
E AndroidRuntime:  atandroid.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1144)

经搜索之后在swap中添加buffer替换出错情况判断,主要参考一下几个网址(大图等容易引起错误)

http://blog.sina.com.cn/s/blog_572dea1a01010d49.html

http://stackoverflow.com/questions/6039107/android-glsurfaceview-egl-bad-alloc

https://github.com/nicolasgramlich/AndEngine/issues/40

你可能感兴趣的:(GlThread比较常见的问题)