【问题标题】:black screen when return to last activity返回上一个活动时黑屏
【发布时间】:2017-03-16 08:30:24
【问题描述】:

我有一个应用程序可以渲染(使用GLES2)地形并且一切都按预期工作。
当我按下主页按钮然后切换回我的活动时 - 屏幕是黑色的,并且永远不会像以前那样返回到自己。
为什么会这样?
我应该在进入主屏幕之前保存任何数据吗?
还有什么我错过的吗?

public void onSurfaceCreated(GL10 gl, javax.microedition.khronos.egl.EGLConfig config) {

    try {

        if (m_pViewport == null)
        {
            CreateMapDevice();
            CreateGridCoordinates();
            CreateNativeRasterLayer();
            CreateRawVectorLayer();
            CreateMapTerrain();
            CreateOverlayManager();
            CreateOverlay();
            m_eDisplayType = EDisplayType.EDT_2D;
            CreateViewport();
            CreatePicObject();
            CreateWorldPicObject();
            CreateTelemetryText();

        }
        else
        {
            m_pViewport.RemoveTerrain(m_pTerrain);
            CreateNativeRasterLayer();
            CreateMapTerrain();
            m_pViewport.AddTerrain(m_pTerrain);
        }

           IMcGLDeviceCamera.Create(m_Context);


    } catch (Exception e) {
        e.printStackTrace();
    }

}

【问题讨论】:

  • 你应该分享一些你的活动代码
  • 是哪一部分?它很长
  • 创建地形的部分
  • 我添加了你问@Cochi的代码
  • 你会在oncreate函数中调用这个方法吗?

标签: android rendering opengl-es-2.0


【解决方案1】:

默认情况下,当您的应用进入后台时,您的 OpenGLES 上下文会被销毁。

我认为您可能需要使用setPreserveEGLContextOnPause

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 2013-12-05
    相关资源
    最近更新 更多