无加冰嘅可乐原创:http://blog.csdn.net/le12380/article/details/25159465
最近被COCOSTUDIO各种折腾。。。我水平也有限啊。。
COCOSTUDIO论坛的例子都不处理内存泄露。。。多伤心啊。。。
入主题,博主的是版本 是2.2.3
例如提示泄露信息 :....LayoutReader::getInstance + 0x7 bytes....
双击信息就会看到,这一语句
这个好办了 调用一下 LayoutReader::getInstance 直接获取 然后delete不就行了么
但我手贱的在后面加了一句instanceLayoutReader-> autorelease(); 结果很悲催,切换场景,各种莫名其妙的错误。。
千万别乱用autorelease();这个特坑
后来
我在AppDelegate.cpp的 头文件里
#include "CocoStudio/Reader/WidgetReader/LayoutReader/LayoutReader.h" //跨项目调用文件,其实。。。就是文件夹路径而已
析构函数里调用
LayoutReader* lyout = LayoutReader::getInstance();
CC_SAFE_DELETE(lyout);
ObjectFactory* ob = ObjectFactory::getInstance();
ob->destroyInstance();
然后各种Reader内存泄露就解决了。。哈哈
No memory leaks detected.
Visual Leak Detector is now exiting. 这正是我们想要的
顺便COCOSTUDIO 其他内存泄露 的
调用 UI编辑器里面的东西后要。。。
SceneReader::sharedSceneReader()->purge();
GUIReader::shareReader()->purge();
ActionManager::shareManager()->purge();
调用动画编辑器里面的东西要。。。
CCArmatureDataManager::sharedArmatureDataManager()->purge();
DictionaryHelper::shareHelper()->purgeDictionaryHelper();