AssetBundle总结

文章目录

      • 目的
      • 打包过程
      • 打包时的分组策略和压缩方式
      • 资源的载入和卸载
      • 其它: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 //卸载所有没有被场景引用的资源对象

其它:Manifest、校验、视图工具

思维导图

AssetBundle总结_第1张图片

你可能感兴趣的:(Unity,AssetBundle)