正如单词所表述的意思,一个是销毁物体,一个是立即销毁。单纯的Destroy调用后不会立即销毁物体,如API所述会在update执行后在某个时间执行,但一定实在render调用之前。而DestroyImmediate调用会立即执行销毁物体。只有销毁掉才会执行下一句代码。
代码执行结果验证:
GameObject go=new GameObject();
D d=new D() { go=go };
Destroy(go);
Debug.Log(d.go==null); //return false
GameObject go=new GameObject();
D d=new D() { go=go };
DestroyImmediate(go);
Debug.Log(d.go==null); //return true