文章目录
- 目的
- 打包过程
- 打包时的分组策略和压缩方式
- 资源的载入和卸载
- 其它:Manifest、校验、视图工具
- 思维导图
前言: 大佬文章链接(据此总结的)
目的
避免软件因资源占用空间太大,导致运行缓慢
避免每次更新资源,都得重新打包
打包过程
资源取名——点击打包自制的按钮
打包时的分组策略和压缩方式
分组策略
按“资源类型”
按“逻辑实体”
按同一时间使用
压缩方式
PLMA:压缩包包小,导致加载慢
PL4:即减少了空间,又有一定的加载速度
不压缩:压缩包大,加载快
“体积”和“加载速度”之间的矛盾
资源的载入和卸载
载入
方式
AssetBundle.LoadFromFile 从本地加载
AssetBundle.LoadFromMemory 从内存加载
UnityWebRequest 从服务器下载
WWW.LoadFromCacheOrDownload 下载后放在缓存中备用(该方法逐渐被弃用)
方法
AssetBundle.LoadAsset(assetName)载入资源
AssetBundle.LoadAllAssets() 载入全部资源
AssetBundle.LoadAssetAsync()异步载入资源
AssetBundle.LoadAllAssetsAsync()异步载入全部资源
AssetBundle.LoadAssetWithSubAssets加载资源及其子资源
卸载
1、AssetBundle.Unload(true) //卸载AB文件的内存镜像,且包含所有Load创建出来的对象
2、AssetBundle.Unload(false) //卸载AB文件的内存镜像,但是除了Load创建出来的对象/
3、Reources.UnloadAsset(Object) //释放已加载的资源Object
4、Resources.UnloadUnusedAssets //卸载所有没有被场景引用的资源对象