AssetBundle 缓存过程缓存 Unity 资产包时会发生什么? ab 的哪些属性使其与其缓存形式不同?

问题描述

这可能是一个非常小众的问题,但是对于 Unity 4 使用的资产包系统,资产包和缓存包之间的具体区别是什么?我很好奇缓存文件与资产包有何不同,以及两种类型的文件有何不同的属性变化(如果有的话)? IE。当资产包通过 WWW.LoadFromCacheOrDownload 缓存时会发生什么?

遗憾的是,Unity 没有记录这个过程,因为开源代码调用了一个名为 INTERNAL_CALL_WWW(this,url,ref hash,crc) 的内部函数,该函数被赋予 WWW 的实例、URL 的字符串、一个 Hash128 和一个名为 crc 的 UINT默认值为 0。(Referenced decompiled 5.3.2p2 code,2017+ code is on the official Unity GitHub,but seems to differ from Unity 2015 code).

Unity 2017 代码指向 private extern static IntPtr CreateCached(DownloadHandlerAssetBundle obj,string url,string name,Hash128 hash,uint crc); 外部方法,该方法也未记录。

此外,当资产包被缓存以便引擎可以识别文件在缓存中并且不需要下载时,实际会发生什么?它只是简单地在缓存中搜索散列名称,还是做一些更复杂的事情?

霜冻

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)