var nodeTest = new cc.Node();
nodeTest.parent = cc.director.getScene();
nodeTest.isValid 无法判断nodeTest.removeFromParent(true); ,被删了后还是true?
var nodeTest = new cc.Node();
nodeTest.parent = cc.director.getScene();
nodeTest.isValid 无法判断nodeTest.removeFromParent(true); ,被删了后还是true?
nodeTest.destroy();再用nodeTest.isValid 是可以判断的
cc.isVolid(node,true)

这个测试还是true,我最后用.parent != null 判断了。。。。
这样节点应该没有删除只是不在节点树中
nodeTest.removeFromParent(true);
一般不太用的到吧。除非这个节点是对象池里的后面还要复用它之类的情况。

creator看了destroy = removeFromParent(true); 然后removeFromParent没参数了(删除removeFromParent仅是把父节点重置为null),所以我删除的地方都加了destroy,但我测试destroy之前的主场景
cc.director.getScene().removeFromParent();
cc.director.getScene().destroy();
director.runSceneImmediate(newScene)
之前插入的单个node isValid仍为true呢?那岂不是有内存泄漏
你就正常访问,然后查看访问不存在的节点是什么报错,在代码位置添加异常判断即可
不好意思刚看到。 你这个是销毁场景? 没怎么测试过。
你看看 文档, 里面资源要自动回收 需要scene勾一个 自动释放asset的:
https://docs.cocos.com/creator/3.8/manual/zh/asset/scene.html#切换场景
removeFromParent() 是本帧移除
destroy() 会在下一帧移除。所以,如果节点需要在本帧移除的话,那得
this.node.removeFromParent();
this.node.destroy()