ccs.GUIReader.getInstance().widgetFromJsonFile 创建的UI在切换场景时没有释放掉内存。
退出场景是这么写的。
onExit:function(){
cc.TextureCache.getInstance().removeAllTextures();
ccs.GUIReader.purge();
}
楼主你好,请参考c++中的方法:
SceneReader::sharedSceneReader()->purge();
GUIReader::shareReader()->purge();
ActionManager::purge();
/**
- returns a shared instance of the GUIReader
- @function
-
@return {ccs.GUIReader}
*/
ccs.GUIReader.getInstance = function () {
if (!this._instance) {
this._instance = new ccs.GUIReader();
}
return this._instance;
};
/**
- purge instance
*/
ccs.GUIReader.purge = function(){
this._instance = null;
};
您好,这是ch5 2.2.2 中的底层代码。我用的是ccs.GUIReader.purge()。也试过ccs.GUIReader.getInstance().purge()不过提示没有这个函数。(jsb+ch5)
不清楚你的问题了,如果用ccs.GUIReader.purge()应该会释放这些控件的。
另外内存并不是实时的清理,会有一定的周期限制。
除了清理这个外可能还需要考虑释放纹理。
切换场景时也要删除GUIReader这种单例类吗?