近期热门
粉丝2
关注 0
获赞 0
强烈建议大家使用DestroyImmediate,而不是Destroy来删除物体。

[U3D] 强烈建议大家使用DestroyImmediate,而不是Destroy来删除物体。

[复制链接]
17765 11 0 1 10年前 举报
官方API说强烈建议使用Destroy代替DestroyImmediate,结果被坑了。大家可以自己试试,
使用Destroy后再调用其他如Start方法,GameObject根本删不干净。


DestroyImmediate就不存在这问题。

大家知道这是为什么吗?
by the way,Unity可以像android开发一样看API的源代码就好了。。

0
点赞
0
打赏
1
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论11
您需要登录后才可以回帖 登录 | 立即注册

谢谢楼主分享~
6年前
回复

使用道具 举报

deco_20 发表于 2014-10-15 15:55
destroy(obj);
obj = null;
instantiate(obj);

在使用easymoivetextures插件的时候,用这个方法试过,表示清除不彻底,一样不能用的。


7年前
回复

使用道具 举报

看看
8年前
回复

使用道具 举报

{:8_324:}膜拜神贴,后面的请保持队形~
8年前
回复

使用道具 举报

CGJOY网友 
Destroy(obj); //删除物体
obj = null;//清空引用
Resources.UnloadUnusedAssets(); //清除物体占用的内存
这样才是完整的写法
8年前
回复

使用道具

你就那么着急么,文档上都说了调用是当前帧,实际起作用需要延迟。置空是很多余的操作,既然你自己置空了还用人家的destroy做什么

9年前
回复

使用道具 举报

{:2_31:}{:2_35:}{:2_37:}
9年前
回复

使用道具 举报

destroy(obj);
obj = null;
instantiate(obj);

无论用哪个都可以这样处理,测试过没问题。
9年前
回复

使用道具 举报

不管用哪个,destroy调用完,马上置为null,否则马上重新new就不会删除干净,类似于这样
9年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器