我正在使用openGL ES创建一个Android应用程序,我有以下问题:
当我最小化应用程序,然后重新打开它时,在我的GLSurfaceView.Renderer中的onSurfaceChanged被调用2次.
我在onSurfaceChanged中有以下代码(和onSurfaceCreated,onDrawFrame中的类似代码):
Log.e("onSurfaceChanged",Integer.toString(width)+" "+Integer.toString(height));
所以我得到以下日志:
onSurfaceCreated onSurfaceChanged 480 800 onDrawFrame onSurfaceChanged 480 800 onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame (...)
当我最小化时,将屏幕方向从纵向更改为横向,然后重新打开,onSurfaceChanged被调用3次.日志是:
onSurfaceCreated onSurfaceChanged 480 800 onDrawFrame onSurfaceChanged 480 800 onDrawFrame onDrawFrame onDrawFrame onSurfaceChanged 800 480 onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame onDrawFrame (...)
我的问题:这是一个错误吗?在我的应用程序中还是Android错误?有一种方法可以在onSurfaceChanged上调用一次吗? (因为在onSurfaceCreated中我正在执行减慢应用程序的代码)
提前致谢