OpenGL, Android precautions NullPointer and androidnullpointer
BUG:
Caused by: java. lang. IllegalStateException: setRenderer has already been called for this instance.
Or NullPointer Error
Solution:
Move setEGLContextClientVersion (2); to the front of setRenderer. "If this method is called, it must be called before"setRenderer(Renderer)Is called.
".
Expansion:
The call sequence before setRender () is also fixed. For details, see the code comments, as shown below:
This method shoshould be called once and only once in the life-cycle of a GLSurfaceView.
(These methods can only be included in CLSurfaceView and can only be called once)
The following GLSurfaceView methods can only be calledBeforeSetRenderer is called:
(Called before setRender, including setEGLContextClientVersion (2 ))
setEGLConfigChooser(boolean)
setEGLConfigChooser(EGLConfigChooser)
setEGLConfigChooser(int, int, int, int, int, int)
The following GLSurfaceView methods can only be calledAfterSetRenderer is called:
(Called after setRender)
getRenderMode()
onPause()
onResume()
queueEvent(Runnable)
requestRender()
setRenderMode(int)