关于Destroy与DestroyImmediate

来源:互联网 发布:淘宝专卖店都是正品吗 编辑:程序博客网 时间:2024/05/17 08:51

恩,首先交代一下故事背景,由于某些原因,要将脚本销毁掉,然后重新添加、配置。这样,问题出现了,脚本一次能加上,一次加不上,就这样循环。Debug显示,添加脚本前有些时候(奇数次)的脚本依然存在,未被销毁。知道了问题所在,就开始寻求解决办法,在大佬一句话的点醒下,明白了Destroy并不能立即销毁。

接下来就说一下Destroy与DestroyImmediate的区别吧:

DestroyImmediate立即对对像进行销毁;
Destroy销毁场景中的物体,但内存中还存在,当令它需要销毁时,只是给一个标识。而内存中它依然是存在的,只有当内存不够,或一段时间没有再次被引用时(或者更多合理的条件满足),机制才会将它销毁并释放内存。这样做的目的就是为了避免频繁对内存的读写操作。回收器会定时清理一次内存中引用计数为0的对象,很可能你的要销毁的对象在其他地方还有引用而你自己不清楚,直接销毁可能导致其他地方空引用错误。

原创粉丝点击