Unity AssetBundle 游戏资源分类及关系

--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下。纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码。

--这里说说,AB是如何打包,如果下载,如何加载。

1.关键词理解:有依赖(公共),无依赖,常驻(使用频率),非常驻。

所谓依赖,无依赖。

画红圈的就是有依赖关系的,但是Unity中,如何知道有哪些资源有依赖关系呐。

一般,我们每次Build后会自动生成AndroidManifest.xml,这里面就详细叙述了资源之间的

依赖关系。

2.下载资源?

下载资源的话,我这边是通过Version文件对比获取所需下载资源,没什么好讲的。

一张图,解释:

3.如何加载?

最主要的就是这边了。

I.加载的优先级

首先加载的是 常驻公共资源,

再加载经常反复资源,

当然如果进入战斗(某个特定模块),就加载非常驻公共资源。

其他资源是当使用时加载。

II.释放资源

常驻资源肯定是不能unload(false)的,这边释放资源,释放的是其他资源。

对于unload(false),还是unload(true) .

unload(false)适合反复使用资源,一次Load之后,再也不需要Load,且与其他资源没有"被依赖关系"。

unload(false),释放的是自身。

unload(true),释放的是自身以及自身所有的子节点。因此,unload(true),慎用。

III 缓存资源

一般常驻资源,最好缓存把AB存为需要的GameObject,例如子弹之类。

原文地址:https://www.cnblogs.com/u3ddjw/p/7815860.html