首页 > 解决方案 > 在方向改变时保持表面(使用 GLSurfaceView)

问题描述

即使在销毁和重新创建我的活动(由于方向更改)时,我也试图继续进行一些渲染(不重置它)。

我查看了GrafikaDoubleDecodeActivity,它非常清楚地说明了如何做到这一点。但是,它通过使用TextureView效率较低的 a 来实现,因为绘制的帧不会直接传递给表面合成器 (SurfaceFlinger)。我的用户体验受到影响。我需要的是一个GLSurfaceView(或者可能是一个SurfaceView)。

问题是我不知道如何在我的活动的不同实例中保留SurfaceView“ ”(如果是这样的话)。SurfaceTexture

有人可以帮我解决这个问题吗?

标签: androidsurfaceglsurfaceviewtextureviewgrafika

解决方案


按照您的推理,我认为如果您渲染到 TextureView 而不是直接在 GLSurfaceView 中,您可以实现所需的行为。

请看一下https://github.com/google/grafika/blob/master/app/src/main/java/com/android/grafika/TextureViewGLActivity.java

此致


推荐阅读