暂停我的申请时遇到了一些问题。我为游戏逻辑使用单独的线程。所以我暂停我的线程,但我不知道如何正确暂停和重新创建OpenGL视图。这是我的代码。它工作,但我认为可能有内存泄漏。显示为GLSurfaceView,Renderer为GLSurfaceView.Renderer。
@Override
public void onPause()
{
super.onPause();
display = null;
game.pause();
Game.texturesLoaded = false;
}
@Override
public void onResume()
{
// TODO normal pause
super.onResume();
display = new Display(this);
display.setRenderer(renderer);
setContentView(display);
game.resume();
}
答案 0 :(得分:1)
重新创建任何与OpenGL相关的内容应该通过onSurfaceCreated()
完成。
答案 1 :(得分:0)
只需拨打display.onPause()
和display.onResume()
即可。
请参阅http://developer.android.com/reference/android/opengl/GLSurfaceView.html