Unity3D资源管理整理

1.加载

Resources.Load:
加载app包内Resources/目录的一个asset;

Resources.LoadAsync:
Resources.Load的异步方法;

Resources.LoadAll:
类似Resources.Load,但是用于加载某目录下所有asset;

Resources.LoadAssetAtPath:
加载Asset/目录下的资源,只能用于编辑器模式,写打包工具时可能用到;

AssetBundle.CreateFromFile:
从磁盘加载一个AssetBundle,这是加载AssetBundle最快的方式;

AssetBundle.CreateFromMemory:
从内存中创建一个AssetBundle,异步方法;

AssetBundle.CreateFromMemoryImmediate:
AssetBundle.CreateFromMemory的同步方法;

AssetBundle.LoadAsset:
从AssetBundle中加载一个asset;

AssetBundle.LoadAssetAsync:
AssetBundle.LoadAsset的异步方法;

AssetBundle.LoadAllAssets:
加载AssetBundle中所有指定类型的asset;

AssetBundle.LoadAllAssetsAsync:
AssetBundle.LoadAllAssets的异步方法;

WWW.LoadFromCacheOrDownload:
从缓存或网络上下载后加载AssetBundle,不需担心设备空间不足;

2.卸载

Resources.UnloadAsset(Object assetToUnload):
卸载指定的asset,只能用于从磁盘加载的;如果场景中有此asset的引用,Unity会自动重新加载它;
Resources.UnloadUnusedAssets:
卸载所有未被引用的asset,可以在画面切换时调用,或定时调用释放全局未使用资源;

AssetBundle.Unload(false):
卸载AssetBundle的压缩文件数据(文件内存映像);

AssetBundle.Unload(true):
卸载AssetBundle文件内存映像,并且释放所有已加载的asset;如果asset在场景中被引用,会丢失;

Object.Destroy:
销毁一个GameObject、组件或asset;并不是立即销毁,而是在Update循环之后,渲染之前;

Object.DontDestroyOnLoad:
标明一个对象在切换场景时不被销毁;

GC.Collect:
强制垃圾收集器立即回收内存,可以根据需要使用,比如切换画面调用或定时调用;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值