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

时间:2018-06-13 19:21:07

标签: java android opengl-es kotlin glsurfaceview

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

当然,我并不是唯一需要这个的人...它是如何完成的?所有示例都假设您不需要在多个活动中显示相同的场景,或者浪费大量时间/内存来重复创建相同的GL状态是完全可以接受的。

我已经意识到了这个活动的生命周期,这就是为什么我试图接受制作一个专注的“生命周期”的概念。 GlSurfaceView活动,然后试图找出如何嵌套'这项专门活动在其他活动中,但我不确定该方法是否能够达到正确的目的。想法?

编辑 - 我忘了提及 - 这可能与片段'? https://developer.android.com/guide/components/fragments

1 个答案:

答案 0 :(得分:0)

更新-据我所知,Android API故意将其隔离。他们对GLSurfaceView的意图似乎是,它仅与一项活动有关,即EVER。当该活动消失时,您的GL上下文总是100%消失。

这就是为什么大多数具有GL需求的应用程序永远不会在活动之间移动,而只能在一个活动中运行