0

Androidにすべてのテクスチャとシェーダープログラムを強制的に破棄させる最良の方法は何だろうと思っていましたか?

GLSurfaceView.onPause を呼び出してから GLSurfaceView.onResume を呼び出すとうまくいくようですが、それが正しいかどうかはわかりません。私が考えたもう 1 つのことは、ゲームを 2 つのアクティビティに分割し、新しいレベルをロードする必要があるたびに制御を前後に移動することでしたが、それは醜いアプローチのように思えました。

4

1 に答える 1

2

あなたが持っているもの(一時停止/再開)はうまくいくはずです。

ハニカム以前のデバイスでは、glsurfaceview を一時停止するとコンテキストが破棄され、すべてのシェーダーとリソースが破棄されます。

ハニカムの後に、と呼ばれる関数がありsetPreserveEGLContextOnPause、サーフェスビューが一時停止されたときにコンテキストを保持するオプションを提供します。これはデフォルトでfalseに設定されているため、コンテキストを保持したくない場合は、一時停止イベントによって常に破棄されます。

于 2013-01-13T18:35:24.877 に答える