【问题标题】:Android - How to properly suspend OpenGLAndroid - 如何正确挂起 OpenGL
【发布时间】:2012-03-09 15:31:43
【问题描述】:

我在暂停我的应用程序时遇到了一些问题。我为游戏逻辑使用单独的线程。所以我暂停了我的线程,但我不知道如何正确暂停和重新创建 OpenGL 视图。这是我的代码。它有效,但我认为可能存在内存泄漏。 Display是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();
}

【问题讨论】:

    标签: java android optimization opengl-es


    【解决方案1】:

    只需调用display.onPause()display.onResume() 就足够了。 请参阅http://developer.android.com/reference/android/opengl/GLSurfaceView.html 的活动生命周期部分

    【讨论】:

      【解决方案2】:

      应通过onSurfaceCreated() 重新创建任何与 OpenGL 相关的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-29
        • 2017-03-20
        • 1970-01-01
        • 2014-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多