尝试在硬件中断或 JAVA 回调中添加、删除Child 时,我面临很多崩溃。
我的游戏有一个调用 java 的软按钮,以便使用语音识别。
上下文:
C++: btnRecord pressed -> JAVA: startVoiceRecognition -> C++: return;
JAVA: hasResult -> C++: resultHandler -> C++: addchild, removechild, etc.-> crashed randomly.
我发现它崩溃了,因为我试图在 cocos 在同一区域做同样的事情时更改游戏数据。
例如:当 cocos 在渲染 layerA 时,JAVA 也尝试移除 layerA -> crashed。
cocos 有针对这种情况的解决方案吗?
可能是一个回调队列,将在下一个游戏循环中处理?
我认为当你按下一些硬按钮时需要改变绘图场景:返回键、音量键或任何硬件中断事件是非常必要的。