首页 / 浏览问题 / 移动GIS / 问题详情
imobile 10i 三维场景初始化问题
22EXP 2021年12月21日

我有一个菜单门户界面,点击不同的菜单打开同一个activity,但是加载的场景内容不同,我第一次进去正常,然后我关闭有场景这个activity后,第二次打开里面场景设置的SceneControlInitedCallBackListenner这个回调就不回调了;

控制台看到这样的错误信息:

1个回答

您好,您那边还使用了地图控件吗?这个报错是因为地图控件导致的,不是场景控件SceneControl。您那边在关闭场景的时候最好先将资源都释放掉
9,197EXP 2021年12月21日
是的,我这个activity里面既有地图控件,也有场景控件,你们有释放资源的demo吗?地图控件和场景控件需要释放那些对象?

地图控件的错会影响场景控件第二次初始化完成事件吗?
地图释放资源在api文档中是有的,你可以搜索释放资源规范。场景的话可以是释放scene、sceneControl对象。您那边可以把mapcontrol注释掉,然后只显示场景控件看会不会报错。还有您的场景控件初始化的代码是写在哪的,第二次进入应该是不会走oncreate方法的,您可以调试代码看下
我的activity是每次都会重新创建的,难道要让activity设置成singleInstance模式吗?

现在第二次启动会报错:

OGRE EXCEPTION(3:RenderingAPIException): Fail to SwapBuffers in swapBuffers at /run/media/root/988a9695-129a-4f6c-8fb9-04f13bc0968e/df/map/software/SourceCode/Android64/jni/LibShared/OGRE1.9_ES3/RenderSystems/GLES2/src/EGL/OgreEGLWindow.cpp (line 161)
把场景的activity的启动模式可以改为singleTask,然后重新该activity的finish方法:moveTaskToBack(false);
...