如何清理内存

我用的是X3.1.1、Studio1.3.0.1
Scene* A = Scene::createNewScene(); // 创建场景
Node *pNode = SceneReader::getInstance()->createNodeWithSceneFile(“publish/RPGGame.json”); // 读取场景编辑器编辑的场景
A->addChild(pNode ); 添加场景

Layer* B = Layer::create(); // 创建UI层
B->addChild(GUIReader::shareReader()->widgetFromJsonFile(“ui_main.json”)); // 添加UI编辑器编辑的UI
A->addChild(B); 添加UI

pNode 里有一个骨骼动画、一个例子特效和几个精灵
求教,怎么移除场景和UI内的内存???

看了N多帖子,最终还是以失败告终!场景切换几次后内存一直涨涨涨!

:12:没有人回答啊,:9:这是要爆游戏啊

加载进游戏里面的UI的纹理资源会被TextureCache和SpriteFrameCache缓存起来,
你切换完场景 以后要调用:

SpriteFrameCache::getInstance()->removeUnusedSpriteFrames();
        TextureCache::getInstance()->removeUnusedTextures();

我用
SpriteFrameCache::getInstance()->removeSpriteFrames();
TextureCache::getInstance()->removeAllTextures();
测试了下,在两个只有UI的场景之间切换的时候,这个方法是释放了的
但在一个只有UI的场景和一个有UI、场景编辑器编辑的场景的界面切换的时候就不行了,每次都增加
场景编辑器编辑的场景还要释放什么吗?

这个跟场景 编辑器无关,是不是你的场景使用的是同一套UI?
SpriteFrameCache::getInstance()->removeSpriteFrames();
TextureCache::getInstance()->removeAllTextures();
这两个方法只会释放reference count = 1的texture和spriteFrame.

谢谢你的解答,经过测试终于发现其实并不是UI的问题!
而是骨骼动画问题,添加使用CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo(“player/player31.png”, “player/player31.plist”, “player/player.ExportJson”);
释放:CCArmatureDataManager::purge();
但是发现释放不了,请问这个怎么释放呢??还是我方法不对

这个是bug 目前没有解决,,,,释放不完全吧

cc.Director:getInstance():purgeCachedData