U2L10-3——Resources资源卸载
U2L10-3——Resources资源卸载
本章代码关键字
1 | Resources.UnloadAsset() //卸载指定的内存内缓存的资源,不能释放GameObject对象 |
Resource是重复加载会浪费内存吗?
其实Resources
加载过一次资源后,该资源就一直存放在内存中作为缓存
第二次加载时发现缓存中存在该资源,会直接取出来使用,所以多次重复加载不会浪费内存
但是会浪费性能(每次加载都会去查找取出,始终伴随一些性能消耗)
如何手动释放掉缓存中的资源
卸载指定资源
注意:该方法不能释放****GameObject
对象 因为它会用于实例化对象
它只能用于一些不需要实例化的内容:比如图片 和 音效 文本等
一般情况下 我们很少单独使用它
1 | Resources.UnloadAsset() |
该方法不能释放****GameObject
对象 因为它会用于实例化对象,即使该对象没有被实例化也会不能卸载! 运行以下代码会报错!!!
1 | GameObject obj = Resources.Load<GameObject>("Cube"); |
卸载未使用的资源
注意:一般在过场景时和GC一起使用
1 | Resources.UnloadUnusedAssets(); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!