You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否需要销毁通过Resources.Load加载的Texture资源?

Resources.Load加载的Texture2D是否需要手动销毁?
  • 通过Resources.Load<Texture2D>()加载的纹理,不需要手动调用UnityEngine.Object.Destroy()。
  • 这类资源属于Resources目录下的托管资源,Unity会自动维护它们的引用计数。当代码中不再有任何引用指向该纹理时,调用Resources.UnloadUnusedAssets()就能让Unity自动释放它占用的内存。
  • 注意:如果还有脚本变量或其他对象持有该纹理的引用,Resources.UnloadUnusedAssets()不会触发销毁,必须等所有引用都清除后,这个方法才会处理它。
  • 反观Texture2D.Create()创建的动态纹理,属于非托管资源,Unity不会自动追踪其生命周期,必须手动调用Destroy()或DestroyImmediate()清理,否则会造成内存泄漏。

内容的提问来源于stack exchange,提问作者Nikolai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:25:53