重复使用嵌套在多个活动中的单个 GLSurfaceView

Reuse a single GLSurfaceView nested inside multiple activities

我有一个用例来制作单个 GLSurfaceView 上下文,然后在 Android 应用程序的不同 Activity 页面上重用它 API 26。换句话说,我有在上下文中保存了 GL 状态的单个 OpenGL 场景,必须可以从 Android 应用程序中的不同 'pages' 使用。创建新的 GLSurfaceViews 是不可能的,因为我们不能在更改页面时丢失我们放入 GL 的状态。

当然,我不是唯一需要这个的人...它是怎么做到的?所有示例都假设您不需要在多个活动中显示相同的场景,或者完全可以接受浪费一堆 time/memory 一遍又一遍地重新创建相同的 GL 状态。

我知道 'activity life cycle',这就是为什么我试图接受制作 'dedicated' GlSurfaceView activity 的想法,然后试图弄清楚如何'nest' 这个专用 activity 在其他活动中,但我不确定该方法是否可以达到正确的目的。想法?

编辑——我忘了​​说——这对 'fragments' 可行吗? https://developer.android.com/guide/components/fragments

更新——据我所知这是被 Android API 故意隔离的。他们对 GLSurfaceView 的意图似乎是它永远只与一个 activity 绑定。当 Activity 消失时,您的 GL 上下文总是 100% 消失。

这就是为什么大多数需要 GL 的应用程序永远不会在活动之间移动,而是求助于在单个 Activity

中运行的原因