【Unity3D】Unity3D 资源管理整理
发布日期:2021-06-30 11:40:56 浏览次数:3 分类:技术文章

本文共 1240 字,大约阅读时间需要 4 分钟。

虽然从事Untiy那么久,有时资源加载这块的接口还是记的不是很清楚,今天小编就就跟大家一起整理记忆一下,主要是参考了Unity的官方文档。

加载:

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,不需担心设备空间不足;

卸载:

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:

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

转载地址:https://itmonon.blog.csdn.net/article/details/80974160 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Unity3D】Unity3D 几个让你相见恨晚的小技巧
下一篇:【Unity3D】自学之路2.0

发表评论

最新留言

很好
[***.229.124.182]2024年05月03日 10时25分16秒