cocostudio1.3.0.1内存泄露好严重

在UI编辑器里
我做几个图片控件 和按钮控件移动而已。。。在场景完全进入的时候播放动画
退出的时候各种内存泄露啊,真心好难用啊。。。
我今天把引擎都升到2.2.3,以为之前的版本很多错误。
结果发现一个样。。。
我都照着示例的代码来释放,改成
uilayer->removeFromParent();
SceneReader::sharedSceneReader()->purge();
GUIReader::shareReader()->purge();
cocos2d::extension::ActionManager::shareManager()->purge();
还是内存泄露,到处都没资料说怎么处理。
一用这工具就超级痛苦,求大神打救啊

新解决方案http://blog.csdn.net/le12380/article/details/25159465

这个UI 有一个容器层,2个ImageView 3个Button
改成这样还是内存泄露
ui->removeFromParent();

SceneReader::sharedSceneReader()->purge();
GUIReader::shareReader()->purge();

ActionManager::shareManager()->purge();
DictionaryHelper::shareHelper()->purgeDictionaryHelper();
ObjectFactory::getInstance()->destroyInstance(); 

Call Stack:
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\layoutreader\layoutreader.cpp (26): XTest.exe!cocos2d::extension::LayoutReader::getInstance + 0x7 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\layoutreader\layoutreader.cpp (10): XTest.exe!cocos2d::extension::LayoutReader::createInstance + 0x23 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\trigger\objectfactory.cpp (178): XTest.exe!cocos2d::extension::ObjectFactory::createWidgetReaderProtocol + 0x5 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1013): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x3A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (972): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::createWidget + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (223): XTest.exe!cocos2d::extension::GUIReader::widgetFromJsonFile + 0x2C bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\classes\mainscene.cpp (39): XTest.exe!MainScene::onEnter + 0x1D bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (785): libcocos2d.dll!cocos2d::CCDirector::setNextScene + 0x1A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (269): libcocos2d.dll!cocos2d::CCDirector::drawScene
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (1080): libcocos2d.dll!cocos2d::CCDisplayLinkDirector::mainLoop
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\platform\win32\ccapplication.cpp (67): libcocos2d.dll!cocos2d::CCApplication::run + 0x20 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\proj.win32\main.cpp (20): XTest.exe!wWinMain + 0x2A bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (547): XTest.exe!__tmainCRTStartup + 0x2C bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (371): XTest.exe!wWinMainCRTStartup
0x76D7EE1C (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes
0x7722377B (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xEF bytes
0x7722374E (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xC2 bytes
Data:
D4 AC 20 00 47 00 00 00 00 00 00 00 01 00 00 00 …G… …
00 00 00 00 C8 AC 20 00 … …

  ---------- Block 672 at 0x0307E720: 24 bytes ----------
  Call Stack:

e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\imageviewreader\imageviewreader.cpp (26): XTest.exe!cocos2d::extension::ImageViewReader::getInstance + 0x7 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\imageviewreader\imageviewreader.cpp (10): XTest.exe!cocos2d::extension::ImageViewReader::createInstance + 0x23 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\trigger\objectfactory.cpp (178): XTest.exe!cocos2d::extension::ObjectFactory::createWidgetReaderProtocol + 0x5 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1013): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x3A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1097): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1097): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (972): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::createWidget + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (223): XTest.exe!cocos2d::extension::GUIReader::widgetFromJsonFile + 0x2C bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\classes\mainscene.cpp (39): XTest.exe!MainScene::onEnter + 0x1D bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (785): libcocos2d.dll!cocos2d::CCDirector::setNextScene + 0x1A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (269): libcocos2d.dll!cocos2d::CCDirector::drawScene
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (1080): libcocos2d.dll!cocos2d::CCDisplayLinkDirector::mainLoop
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\platform\win32\ccapplication.cpp (67): libcocos2d.dll!cocos2d::CCApplication::run + 0x20 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\proj.win32\main.cpp (20): XTest.exe!wWinMain + 0x2A bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (547): XTest.exe!__tmainCRTStartup + 0x2C bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (371): XTest.exe!wWinMainCRTStartup
0x76D7EE1C (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes
0x7722377B (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xEF bytes
0x7722374E (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xC2 bytes
Data:
B4 AE 20 00 5C 00 00 00 00 00 00 00 01 00 00 00 … …
00 00 00 00 A8 AE 20 00 … …

  ---------- Block 714 at 0x030ACB78: 24 bytes ----------
  Call Stack:

e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\buttonreader\buttonreader.cpp (26): XTest.exe!cocos2d::extension::ButtonReader::getInstance + 0x7 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\widgetreader\buttonreader\buttonreader.cpp (10): XTest.exe!cocos2d::extension::ButtonReader::createInstance + 0x23 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\trigger\objectfactory.cpp (178): XTest.exe!cocos2d::extension::ObjectFactory::createWidgetReaderProtocol + 0x5 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1013): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x3A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1097): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1097): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (1097): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::widgetFromJsonDictionary + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (972): XTest.exe!cocos2d::extension::WidgetPropertiesReader0300::createWidget + 0x16 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\extensions\cocostudio\reader\guireader.cpp (223): XTest.exe!cocos2d::extension::GUIReader::widgetFromJsonFile + 0x2C bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\classes\mainscene.cpp (39): XTest.exe!MainScene::onEnter + 0x1D bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (785): libcocos2d.dll!cocos2d::CCDirector::setNextScene + 0x1A bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (269): libcocos2d.dll!cocos2d::CCDirector::drawScene
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\ccdirector.cpp (1080): libcocos2d.dll!cocos2d::CCDisplayLinkDirector::mainLoop
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\cocos2dx\platform\win32\ccapplication.cpp (67): libcocos2d.dll!cocos2d::CCApplication::run + 0x20 bytes
e:\cocos2dx2.2\cocos2d-x-2.2.3\cocos2d-x-2.2.3\projects\xrockman\proj.win32\main.cpp (20): XTest.exe!wWinMain + 0x2A bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (547): XTest.exe!__tmainCRTStartup + 0x2C bytes
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (371): XTest.exe!wWinMainCRTStartup
0x76D7EE1C (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes
0x7722377B (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xEF bytes
0x7722374E (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0xC2 bytes
Data:
AC C4 20 00 78 00 00 00 00 00 00 00 01 00 00 00 …x… …
00 00 00 00 A0 C4 20 00 … …

  Visual Leak Detector detected 3 memory leaks (180 bytes).
  Largest number used: 162342 bytes.
  Total allocations: 235813 bytes.
  Visual Leak Detector is now exiting.

Visual Leak Detector is now exiting.

我也出现了这个问题… 不用检测内存都不知道, 一用吓一跳。

哎,版主都不处理,我卡着很久了!

我已经把vld删了 眼不看为净

:12: 不是吧!!!!!

刚刚解决,我修改他的源文件 路径是 CocoStudio - Reader - WidgetReader,下面有很多XXXReader文件
然后我把我用到那几个改了,我内存泄露是reader不会自己调用purge() 但是我想通过getInstance(),发现不能调用。。。
我就这样做 调用->autorelease(); 这样确实不报内存泄露了,不过anutoreale我不是很清楚会不会搞成崩溃啊。。。
ImageViewReader* ImageViewReader::getInstance()
{
if (!instanceImageViewReader)
{
instanceImageViewReader = new ImageViewReader();
//2014-4-25 le修改 添加以下
instanceImageViewReader->autorelease();
}
return instanceImageViewReader;
}

刚刚解决,我修改他的源文件 路径是 CocoStudio - Reader - WidgetReader,下面有很多XXXReader文件
然后我把我用到那几个改了,我内存泄露是reader不会自己调用purge() 但是我想通过getInstance(),发现不能调用。。。
我就这样做 调用->autorelease(); 这样确实不报内存泄露了,不过anutoreale我不是很清楚会不会搞成崩溃啊。。。
ImageViewReader* ImageViewReader::getInstance()
{
if (!instanceImageViewReader)
{
instanceImageViewReader = new ImageViewReader();
//2014-4-25 le修改 添加以下
instanceImageViewReader->autorelease();
}
return instanceImageViewReader;
}

论坛的里的人都在做什么?认真的问题没一个正经回复的,都是楼主自己解决,还把解决方案贴出来共享,这些发现问题又解决问题的帖子比入门教程重要的多好不好?

autoRealease 会在下一帧中将你调用的对象引用计数减1.

你们怎们用cocostudio做界面的,我您愿用xml布局界面都不想用它,有钱的话搞台黑苹果用cocosbuilder吧。cocosudio还不完善,国人做的软件大家懂的。

新解决方案http://blog.csdn.net/le12380/article/details/25159465

学生党能用什么做。。。~