我正在Android 4.3上开发,我正在使用OpenGL ES 2.0。 我使用GLSurfaceView,一切都在开始时找到。但是,当我把应用程序和背景放回我的应用程序时,我再也看不到我的观点....
我看到这是一个常见的问题。我在互联网上阅读了很多解决方案,但它无法解决我的问题。
这是我的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);
我试图在onPause中将我的视图(mGLSurfaceView)初始化为null并在onResume中再次声明它,但结果相同,它不起作用。
感谢您的回答。
答案 0 :(得分:0)
不确定它是否可以解决问题。
但我注意到在功能onResume
中,您没有在Camera.open()
和startPreview()
之间设置表面支架。
也许添加像mCamera.setPreviewDisplay(mSurfaceHolder);
这样的东西可以解决问题。
希望它有所帮助。