这两天在windows上调cocos2dx工程,出现多次调用replaceScene时,程序崩溃。报错是内存问题。
上网搜了一下,找到下面这篇文章,现象是一样,原因也分析得比较清楚。
原文中是因为两次autorelease引发的崩溃。
查看了一下我的工程,先从sceneA调用sceneB,再从sceneB调用sceneC。其中A和C都是定义为layer,
并使用宏CREATE_FUNC(类名),创建scene,再加入layer为其子节点。而B直接定义为scene,没有
用宏CREATE_FUNC,在创建时new sceneB,initSelf(),autolease()。
讲B改为A、C定义的方式,场景切换时就没有崩溃了。问题是解决了不过里面的细节原因还没有深入去分析。
以后学得多了再补充吧。
参考分析文章是:Cocos2d-x中replaceScene引发崩溃的解决