Как я могу определить, когда мои текстуры уничтожены на Android?
Мой класс Renderer для моего GLSurfaceView в настоящее время выглядит следующим образом:
public void onDrawFrame(GL10 gl)
{
nativeLibrary.drawFrame();
}
public void onSurfaceChanged(GL10 gl, int width, int height)
{
if (reload)
{
library.glRecreate(); //this method reloads destroyed textures
}
else
{
nativeLibrary.init(width, height)); //this method initializes my game
reload = true;
}
}
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
}
Проблема в том, что это не всегда работает. Когда я нажимаю кнопку «Домой» в своей игре, а затем снова запускаю ее, она работает как шарм. Но когда я блокирую устройство, а затем снова его разблокирую, все текстуры просто черные. Кажется, все сбрасывается, когда я тоже его блокирую (моя игра всегда возвращается в главное меню). Когда я покидаю игру с помощью кнопки «Домой» и после этого делаю блокировку / разблокировку, игра не сбрасывается.