我这边是将引擎嵌入到app里面,在退出游戏的时候调用delete cocos2d::Application::getInstance(); ~Application()也做过修改。
Application::~Application()
{
#if USE_AUDIO
AudioEngine::end();
#endif
EventDispatcher::destroy();
// se::ScriptEngine::destroyInstance();
// stop main loop
[(MainLoop*)_delegate stopMainLoop];
[(MainLoop*)_delegate release];
_delegate = nullptr;
[(CCEAGLView*)_view release];
_view = nullptr;
delete _renderTexture;
_renderTexture = nullptr;
Application::_instance = nullptr;
cocos2d::network::HttpClient::getInstance()->destroyInstance();
}
其中注释掉了 se::ScriptEngine::destroyInstance(); (不注释会crash)
加入了 cocos2d::network::HttpClient::getInstance()->destroyInstance();
这段代码在2.1.3上是没问题的,升级到2.3.2之后第二次进入游戏的时候只有声音,没有图像,点击事件都是没问题的。