如何删掉一个组件

如果 在js代码上创建了一个node,但这个node组件并没有加载到任何node,上
也就是node. parent = null; 那么这个node会自动被垃圾回收掉吗?

node. parent = null; 与下面这句 会是同样效果吗?
node. removeFromParent();

不会被垃圾回收,下面两句效果相同。详见 创建和销毁节点 · Cocos Creator

那么
removeFromParent
parent=null
都只是暂时不执行,不显示这个NODE而已,直到退出当前scene,才销毁node吗?

只有destroy才会销毁,退出当前scene不会销毁

那这么说 岂不是必定内存泄漏了!

你就不能destroy掉?

我就探讨一下得啦! 肯定要destroy得啦!

image
我这个需求是 这些UI图标,
如何根据 服务器下发的数组数据, 对这个UI界面进行
增删改的问题,

我想的方法是, 先吧UI 图标都从父对象上拿下来, (父对象是 listView 可以自动布局的那种)
然后比对 数组数据 再添加到 父对象, 没添加的UI图标就是要销毁的
这个办法来更新UI


image
这种办法 并没有把 children 对象都从父对象上拿下来, 还是有2个parent !=null ,奇怪了!

你能试下从后往前遍历吗 :rofl:

child的parent=null的时候,下个循环,children.length的值就变了吧

你说的对~! 哈哈!

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。