我一直认为节点创建后除非调用destory 否则会一直在内存中!
而今天项目的兄弟说js有垃圾回收机制,只需要把节点从舞台删除并保证没人引用就OK。
也就是说:
let a:cc.Node=new cc.Node(“test”)
stage.addChild(a);
stage.removeChild(a);
//兄弟表示这个A就释放了!!!
我表示需要 a.destory();
我一直认为节点创建后除非调用destory 否则会一直在内存中!
而今天项目的兄弟说js有垃圾回收机制,只需要把节点从舞台删除并保证没人引用就OK。
也就是说:
let a:cc.Node=new cc.Node(“test”)
stage.addChild(a);
stage.removeChild(a);
//兄弟表示这个A就释放了!!!
我表示需要 a.destory();
需要 destroy。引擎内部会对节点数据进行缓存,不调用会导致内存泄露,特别是原生平台。
除非将来 js 的 FinalizationRegistry 普及,否则除了 destroy 引擎没办法知道一个节点的数据什么时候可以进行回收。
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。