Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道强制android销毁所有纹理和着色器程序的最佳方法是什么?
我发现调用 GLSurfaceView.onPause 然后调用 GLSurfaceView.onResume 似乎有效,但我不确定这是否正确。我想到的另一件事是将游戏分成 2 个活动,并在每次需要加载新关卡时来回转移控制,但这似乎是一种丑陋的方法。
我认为你所拥有的(暂停/恢复)应该可以工作。
在 pre-honeycomb 设备上,暂停 glsurfaceview 会破坏上下文,这将破坏所有着色器和资源。
在honeycomb 之后,有一个名为 的函数setPreserveEGLContextOnPause,它为您提供了在surfaceview 暂停时保留上下文的选项。这默认为false,因此除非您想保留上下文,否则它将始终被暂停事件破坏。
setPreserveEGLContextOnPause