问题:
考虑来自Android NDK r6b的hello-gl2示例,当用户重复调用GLSurfaceView的暂停/恢复操作时,这个示例是正确的吗?我问这个问题是因为每次调用GL2JNIView.Renderer.onSurfaceChanged()时,它都会创建所有OpenGL资源(着色器、纹理),但它从不销毁它们。
背景:
我正在尝试调试一些使用C ++和JNI实现的OpenGL ES 2.0游戏,在暂停/恢复期间行为不正确。我试图找到一些参考示例,但除了NDK中提到的hello2-gl示例之外,我还没有发现任何参考资料,但这可能会在我的看法中创建内存泄漏,并且这更复杂的版本,我目前正在使用这个链接,但在其中似乎OpenGL上下文被销毁,然后GLSurfaceView完成了它的onPause()方法,在那里我正在销毁绑定到上下文的所有OpengGL着色器和纹理。您能否指向一个真正正确的OpenGL ES 2.0在Android上使用NDK的示例,关于处理暂停/恢复OpenGL资源的正确方式?
感谢您的帮助。