Unity资源管理开发记录

记录一下开发Unity游戏的资源管理模块时,通过测试得到的一些结论,避免遗忘:

1.从assetbundle里load出来的资源,即使游戏中没有对该资源的引用,不主动调用Resources.UnloadUnusedAssets的话,该资源是不会被释放掉的,指向该资源的弱引用也不会变为空;当调用了Resources.UnloadUnusedAssets和GC.Collect后,弱引用的Target变为空,说明此时资源被释放。

2.Unity加载的assetbundle,即使游戏中没有对该assetbundle的引用,不主动调用assetbundle.Unload(false或true)的话,该assetbundle是不会被释放掉的,指向该assetbundle的弱引用也不会变为空。

3.从assetbundle里load出来的资源,即使资源没有在游戏中被引用,在调用assetbundle.Unload(false)后,该资源的弱引用也不会变为空。但调用assetbundle.Unload(true)会使资源的强弱引用均变空。

4.Unity无法加载同一个AssetBundle两次,第二次加载时会报错;因此如果使用异步的AssetBundle加载,需要注意如果已经有一个加载请求在异步处理了,就不要再申请相同AssetBundle的异步加载了,否则当一个请求处理完成后,剩下的请求协程会报错,assetbundle返回为null;此外,如果在AssetBundle的异步加载完成前申请同步加载,Unity不会在调用同步加载方法时报错,而是之后在异步加载的协程中报错;如果已经加载完成了AssetBundle,再申请异步加载该AssetBundle时,Unity不会在调用异步加载方法时报错,而是之后在异步加载的协程中报错;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值