Нашел ответ здесь , этот "LemonDev" спас мне жизнь:
Можно остановить / уничтожить представление поверхности OpenGL и установить новый GLSurfaceView новым средством визуализации, вызвав OnPause() и postDelayed уничтожение с помощью обработчика и Runnable, например:
final Renderer newRender = new GRenderer(this);
final LinearLayout ll = (LinearLayout) this.findViewById(R.id.main);
graphicView.onPause();
Handler handler = new Handler();
class RefreshRunnable implements Runnable{
public RefreshRunnable(){
}
public void run(){
ll.removeView(findViewById(R.id.graphicView));
GLSurfaceView surfaceview = new GLSurfaceView(getApplication());
surfaceview.setId(R.id.graphicView);
surfaceview.setRenderer(newRender);
ll.addView(surfaceview);
graphicView = (GLSurfaceView) findViewById(R.id.graphicView);
}
};
RefreshRunnable r = new RefreshRunnable(this);
handler.postDelayed(r, 500);
Это создаст новый рендерер и приостановит GLSurfaceView.Затем приложение «уничтожит» некоторые внутренние компоненты, которые вы не можете затронуть с помощью SDK ... После этого вы можете уничтожить GLSurfaceView, создать еще один и установить для него новый рендерер.
Моя проблематеперь текстуры еще не обновлены, но, тем не менее, это здорово!