Resources资源卸载

1、Resources重复加载资源会浪费内存吗

Resources在加载一次资源过后,该资源就一直存放在内存中作为缓存,第二次加载时发现缓存中存在该资源,会直接取出来进行使用,所以多次重复加载不会浪费内存,但是会浪费性能(每次加载都会去查找取出,始终伴随着一些性能消耗)

2、如何手动释放缓存中的资源

(1)卸载指定资源

// obj:卸载对象资源
Resources.UnloadAsset(obj)

---------------
Texture tex = Resources.Load<Texture>("Texture/testJpg");
Resources.UnloadAsset(tex);

注意:该方法不能释放GameObject对象,因为它会用于实例化对象(即使没有实例化也不能卸载),只能用于一些不需要实例化的内容,比如图片、音效、文本等,一般情况下,很少使用这个API

(2)卸载未使用的资源

Resources.UnloadUnuseAssets();
// 一般和GC一起使用
GC.Collect();

注意:一般在过场景时和GC一起使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值