我重新搞了个方案简单尝试了一下,全游戏使用同一个view和同一个glthread,自我感觉可行,等我们上线测试后同步这里
rusotre sdk 发布延期了,如果可行,也按你的思路改了试试
目前测试可行,简单说一下基本方案。
- 创建单例view,使用MutableContextWrapper替换context
- 单例里确保setRender只调用一次(会创建glthread),setEGLConfigChooser只调用一次(会校验glthread)
- 破坏onAttachedToWindow() onDetachedFromWindow的父类调用链,越过GLSurfaceView的on函数直接调用祖类SurfaceView的on
- onDetachedFromWindow不要mGLThread.requestExitAndWait(),只调用onPause
- activity在destory的时候,要removeView