2010-11-25 27 views

答えて

2

アプリから離れたらいいえ、それらは自動的に削除されます。あなたのアプリが再びアクティブになった場合は、実際にテクスチャIDを無視してください。onSurfaceChangedが再び呼び出されたときにそれを覚えておいてください。

4

テクスチャを使用しなくなった場合は、基になるハードウェアリソースを解放できるようにglDeleteTextures()を呼び出す必要があります。

しかし、EboMike氏によると、以前のコンテキストインスタンスから作成されたテクスチャを使用する場合は注意が必要です。その答えを拡張するために、私はテクスチャのIDをラップし、glDeleteTextures()をfinalize()メソッドから呼び出すと同時に、contextIdという名前のapp-static intをインクリメントするtexture-wranglingクラスを作成したいGLコンテキストが作成される(つまり、onSurfaceCreatedで)。テクスチャラングラーはインスタンス化時にcontextIdの値を追跡する必要があります。値が変更された場合は、テクスチャをリロードする必要があります(古いテクスチャIDは既に古いコンテキストとともに破棄されています)。

関連する問題