--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下。纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码。
--这里说说,AB是如何打包,如果下载,如何加载。
关键词理解:依赖,被依赖,公共, 非公共,。
1.如何打包?
游戏资源的话,我这里是分为两大类。
常驻资源
I.常驻公共资源(主界面图集,背景音乐等的必须要加载的资源)
||.非 常驻公共资源(战斗界面图集,因为存在只登录游戏,不进战斗的情况)
非常驻资源
|||.经常反复资源
V.其他
2.下载资源?
下载资源的话,我这边是通过Version文件对比获取所需下载资源,没什么好讲的。
一张图,解释:
3.如何加载?
最主要的就是这边了。
I.加载的优先级
首先加载的是 常驻公共资源,
再加载经常反复资源,
当然如果进入战斗(某个特定模块),就加载非常驻公共资源。
其他资源是当使用时加载。
II.释放资源
常驻资源肯定是不能unload(false)的,这边释放资源,释放的是其他资源。
对于unload(false),还是unload(true) 参考http://blog.csdn.net/tyzxhxl/article/details/44541429
unload(false)适合反复使用资源,一次Load之后,再也不需要Load,且与其他资源没有"被依赖关系"。
III 缓存资源
一般如果经常反复使用的资源,最好缓存把AB存为需要的GameObject,例如子弹之类。
时间: 2024-10-13 01:10:40