CH5+JSB使用widgetFromJsonFile创建的UI如何释放内存

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这种单例类吗?