返回「计算机、信息技术与工程」
关于resource.unloadasset()资源卸载疑问
本文目录 3 个章节
关于resource.unloadasset()资源卸载疑问
note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。
问题
在pc端使用Profiler,加载了一张图片,然后使用resource.unloadasset()卸载该图片,profiler里面还是留有这张图片的内存,但是如果我在使用unloadasset方法之后再使用UnloadUnusedAssets方法profiler中改资源内存被清除了,

Snipaste_2021-08-11_20-06-16.png
![]()
Snipaste_2021-08-11_20-06-29.png

Snipaste_2021-08-11_20-05-56.png 第三张图是图片引用被清除了,不知道为啥内存中还占用着,一定要使用UnloadUnusedAssets方法吗
- 提问者:萧肖
- 提问时间:2021-08-12 04:08:56
我的回答
所以题主是想要卸载Sprite,但是不卸载Texture吗。这样的诉求应该是不太合理的,占用内存的是Texture,Sprite是Texture上的一小块,实际上Sprite组件存的就是它在Texture上的偏移位置,几个数字,组件本身内存占用是很低的,卸载的意义不大。从资源管理的角度就是要卸载Texture。而texture确实存在被多个Sprite引用的问题,所以直接卸载也不合适,那么就等所有的Sprite都清除了再卸载Texture就好了。
- 回答时间:2021-08-13 20:04:40
- 最后更新:2021-08-13 20:04:40
- 采纳状态:未采纳
来源与关系
- 上位集合:我的 UWA 问答
- UWA 标签:资源管理、内存管理
- 原始问题:关于resource.unloadasset()资源卸载疑问
- 源页最后更新:2021-08-13 20:04:40