通过不同的活动维护glSurfaceView

Maintaining glSurfaceView through different activities

我正在用 opengl-es 编写一个 android 应用程序,我遇到了一个问题.... 我发现您不应该将视图从一个 activity 发送到另一个。我的应用程序包含多个活动,我想在活动之间共享一个 glsurface 视图.....

有什么办法可以实现吗?

不是真的。

当您切换 Activity 时,旧 Activity 的所有基于视图的 UI 都将被拆除,并创建新 Activity 的视图元素。 GLSurfaceView 也负责创建和销毁 EGL 上下文。

有一些方法可以通过使用 TextureView 玩游戏来保持表面(参见例如 Grafika's "double decode",它会在 Activity 因设备方向更改而重新启动时继续播放视频),但我怀疑这将是您应用程序的最佳方法。

您应该合并 Activity 或处理 GLSurfaceView 重启。