OpenGL ES 2.0只能运行一次

时间:2016-10-09 10:21:51

标签: android opengl-es opengl-es-2.0

我使用OpenGL ES 2.0在我的GLSurfaceView上成功绘制了简单的形状。到目前为止,我还没有使用任何纹理。问题是,当我第二次重新运行屏幕为GLSurfaceView的活动为空(黑色)时,不会再次绘制形状。我必须重新安装整个应用程序才能让它再次运行。 我没有任何特殊方法onPause& onResume所以我假设GLSurfaceView的新实例应该在每次重新运行应用程序时重绘屏幕。

有没有人知道我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

  

我没有任何特殊方法onPause& onResume

这可能是你的问题。您需要遵循documentation of GLSurfaceView,特别是“活动生命周期”中的内容:

  

当活动暂停并恢复时,必须通知GLSurfaceView。 GLSurfaceView客户端需要在活动暂停时调用onPause(),并在活动恢复时调用onResume()。这些调用允许GLSurfaceView暂停和恢复渲染线程,并允许GLSurfaceView释放并重新创建OpenGL显示。