Unity Addressables资源更新流程(基于windows分析)

基于windows加载流程分析资源加载、更新流程,具体配置及基础知识参考其他资料。

重要的三个目录:
a.Library\com.unity.addressables\aa:默认构建资源存放目录,打执行文件时,会将里面资源拷贝到streamingAssetsPath目录。目录里面重要文件:
aa\Windows\settings.json(f1):打包资源全局配置文件,包含更新资源地址(d1)、本地bundle目录配置读取路径(d2)、远程bundle配置更新读取路径(d3)等信息。
aa\Windows\catalog.json(f2):所有bundle定义目录,主要用于本地资源读取。

b.C:\Users\lx\AppData\LocalLow\DefaultCompany\My project\com.unity.addressables:可读写目录,更新资源后,将配置写入此目录,包含两个文件:
catalog_0.0.1.hash(f3):记录当前目录配置文件的hash值
catalog_0.0.1.json(f4):构建的资源配置文件,包含bundle及读取等信息。

c.C:\Users\lx\AppData\LocalLow\Unity\DefaultCompany_My project:资源缓存目录,如果bundle资源缓存了,UnityWebRequest在通过url加载对应bundle时,会先判断是否有缓存,然后对比hash值,如果不需要更新,直接从缓存读取。如果需要更新,则从服务器加载。

资源更新流程:
1.启动时,根据f1文件初始化,需要读取本地bundle(不更新的)时,根据f2配置读取。
2.读取f3文件hash值,与远程对应文件hash值比较,如果一致,则不更新f4文件,否则更新。如果第一次启动程序,则更新f3、f4文件到对应目录。如果没有读取到远程hash值,加载本地缓存。
3.读取可更新bundle时,判断本地缓存和对应hash值,如果不一致会更新bundle,如果一致,从缓存目录c加载。bundle配置数据为json串,用Base64加密数据,在f2和f4文件的m_ExtraDataString中存储,具体可以参见源码。

修改打包资源存放路径:
在这里插入图片描述
在这里插入图片描述
先点击2、再点击3后输入地址即可自定义打包资源存放路径。点击1、再点击3改变打包资源报错。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值