2014-01-15 69 views
1

我正在開發Android 4.3,我正在使用OpenGL ES 2.0。 我使用GLSurfaceView和一切工作在開始時查找。但是,當我把應用程序和背景,並回到我的應用程序,我沒有看到我的看法了......OnPause/onResume問題與OpenGL

我看到這是一個共同的問題。我在互聯網上閱讀了很多解決方案,但無法解決我的問題。

這是我的onPause和的onResume代碼:`

@Override 
protected void onResume() { 
    mGLSurfaceView.onResume(); 

    super.onResume(); 

    mCamera = Camera.open();   
    mCamera.startPreview();     
} 


@Override 
protected void onPause() { 
    mGLSurfaceView.onPause(); 

    mCamera.setPreviewCallback(null); 
    mCamera.stopPreview(); 
    mCamera.release(); 
    mCamera = null; 

    super.onPause(); 
}` 

我該如何申報我的觀點:

 mRenderer = new TextureRenderer(this); 
     mGLSurfaceView.setEGLContextClientVersion(2); 
     mGLSurfaceView.setRenderer(mRenderer); 
     mGLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); 
     mGLSurfaceView.setPreserveEGLContextOnPause(true); 

我想我的觀點(mGLSurfaceView)初始化爲NULL的onPause並宣佈它再次在onResume但它是相同的結果,它不起作用。

謝謝你的回答。

回答

0

不知道它是否可以解決問題。

但我注意到在功能onResume中,您沒有設置Camera.open()startPreview()之間的表面支架。

也許加上像mCamera.setPreviewDisplay(mSurfaceHolder);這樣的東西就可以解決問題。

希望它有幫助。