强制android破坏纹理和着色器的最佳方法

时间:2013-01-13 18:31:13

标签: android opengl-es

我想知道强制android破坏所有纹理和着色器程序的最佳方法是什么?

我发现调用GLSurfaceView.onPause然后调用GLSurfaceView.onResume似乎有效,但我不确定这是否正确。我想到的另一件事是将游戏分成2个活动,并在每次需要加载新级别时来回转移控制,但这似乎是一种丑陋的方法。

1 个答案:

答案 0 :(得分:2)

我认为你所拥有的(暂停/恢复)应该有效。

在预蜂窝设备上,暂停glsurfaceview会破坏上下文,这将破坏所有着色器和资源。

在蜂窝之后,有一个名为setPreserveEGLContextOnPause的函数,它允许您在暂停表面视图时保留上下文。默认为 false ,因此除非您想保留上下文,否则它将始终被暂停事件销毁。