creator 动态加载预制体内存泄漏问题

版本:1.4.2 1.5.1 1.6.1都试过
代码:

    startBtnEvent : function(){
            cc.loader.loadRes('prefab/testPra',(err, prefab_load) => {
                // MyLog("--------------");
                 if(err){
                     MyLog("Load prefab_ err");
                    return false;
                 }
                 let prefab = cc.instantiate(prefab_load);
                 prefab.setName("aaaaa");
                 //prefab.addComponent(js_fileName);
                 cc.find("Canvas").addChild(prefab);
             });
        }
     ADBtnEvent : function () {
             cc.find("Canvas/aaaaa").destroy();
             //let deps = cc.loader.getDependsRecursively('prefab/testPra');
            //cc.loader.release(deps);
      }

每次创建销毁大概增加0.1M左右 如果加了
//let deps = cc.loader.getDependsRecursively(‘prefab/testPra’);
//cc.loader.release(deps);
反而0.4左右

1赞

我定义一个数组一直push和pop内存都在一直涨涨涨:joy:

顶一顶

有报错吗?什么平台?做个 demo 吧

只要来过,必留下痕迹

assets.zip (182.0 KB)
ios 没有报错 用的default版本

测试代码 在blocks这个文件

哦,原生平台是正常的,这个不用看了。GC 要很久之后才会触发。你可以手动执行 cc.sys.garbageCollect(),这样内存就会回落。或者升级到 1.6.2,内存回落也会快一些。

谢谢 cc.sys.garbageCollect() 的确回落了