Unity 学习教程 之 销毁Destroy相关函数注意点
来源:网络收集 点击: 时间:2024-03-14打开Unity,新建一个空工程,具体如下图

在场景中,新建一个“Cube”和“Sphere”,并且调整好他们的布局,具体如下图

在工程中,新建一个脚本,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

打开脚本编写,首先设置两个变量获取物体,然后编写Destroy()和DestroyImmediate()函数,分别销毁并打印,具体代码和代码说明如下图

脚本编译正确,回到Unity界面,在场景中新建空物体“GameObject”,然后把脚本挂载上去,并且把场景中的“Cube”和“Sphere”分别赋值给脚本,具体如下图

运行场景,分别按下“A”和“S”键,场景中“Cube”和“Sphere”都被销毁,控制台上,打印“Cube”和“null”,具体如下图

综上所诉:
(1)obj并不会立即销毁,而是需要等待下一个Update更新,所以还是可以被print出来;
(2)DestroyImmediate立即对对像进行销毁,print出来是null;
(3)Destroy销毁场景中的物体,但内存中还存在,当令它需要销毁时,只是给一个标识。而内存中它依然是存在的,只有当内存不够,或一段时间没有再次被引用时(或者更多合理的条件满足),机制才会将它销毁并释放内存;
(4)这样做的目的就是为了避免频繁对内存的读写操作。回收器会定时清理一次内存中引用计数为0的对象,很可能你的要销毁的对象在其他地方还有引用而你自己不清楚,直接销毁可能导致其他地方空引用错误;
(5)建议使用平常Destroy函数,而不是DestroyImmediate函数;
8/8到此,《Unity 学习教程 之 销毁Destroy相关函数注意点》讲解结,谢谢
注意事项建议使用平常Destroy函数,而不是DestroyImmediate函数
您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言
学习UNITYDESTROY函数注意点版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_353342.html