加载策略
xasset 的资产加载策略是:
查询缓存中是否有记录,如果有直接取缓存的地址。
缓存中如果没有,先看安装包内部是否有,如果有直接返回包内的加载地址。
如果包内没有,再看下载目录是否有,如果有直接返回下载目录的地址。
下载目录没有,直接返回服务器的下载地址。
按需加载
xasset 可以使用资产路径或目录对局部内容进行预加载。
但在运行时,准备对局部资产进行加载更新的时候,和提前发现问题提前处理的预处理方式不同,这里 xasset 提倡在运行时动态组装需要更新的资产列表来获取更新。
为什么这里需要这样做呢?很常见的情况就是,大部分游戏在不同阶段,需要准备的(资产)内容是不同的,例如,随着角色等级的变化,在同一个场景可能会不断解锁新的内容,同时老的内容也有可能会过时。
这时,如果采取读取运行时的数据动态生成需要加载的资产列表来检查更新,不仅可以更快让用户体验游戏,也能大幅减少配置分包内容的工作量,并减少配置出错的机会。
自动更新
比较方便的是,不论是同步加载还是异步加载的资产,在加载的时候,只要本地没有,就会自动去服务器下载,下载后再自动加载,几乎没有额外的负担,这就是自动更新机制。
所以,当本地的资产被意外删除时,通过自动更新可以自动还原被删除的资产,从而让 App 具备一种自修复能力。
异步转同步
异步转同步指的是同一个资产的异步加载还未完成时,调用同步加载可以正常返回,并且可以正常回收。