Addressable CRC设置详解

设置

Asset Bundle的CRC设置中有三个选项:
Disable;
Enable,InClude Cached;
Enable,Excludeing Cached;
修改后实际改的是这里的选项:
Addressable CRC设置详解_第1张图片

Disable

设置为Disable,实际上是将BundledAssetGroupSchema类的UseAssetBundleCrc参数设为false;这样打包的时候AssetBundleRequestOpetion的Crc为0,实际上加载从网络或者本地Cache的Bundle都不会有CRC校验。
Addressable CRC设置详解_第2张图片

Enable,InClude Cached

的时候。BundledAssetGroupSchema类的UseAssetBundleCrcForCachedBundles这个参数为true。我们可以看到加载网络请求的Bundle时候,这个时候一定会去进行CRC校验。这个时候就会导致加载比较耗时。
Addressable CRC设置详解_第3张图片

Enable,Excludeing Cached

而使用Enable,Excludeing Cached;的时候,只会在本地缓存没有通过远程bundle的名字和hash的检验时,加载网络请求的Bundle才会去进行CRC校验。

但是开启了Enable CRC校验的时候。加载本地的bundle这个时候,无论Include Cached还是Excludeing Cache都会进行CRC校验。
Addressable CRC设置详解_第4张图片

我们希望的是一开是从网络下载Bundle时候需要进行CRC校验,但是从本地加载的时候都不进行CRC校验:

因此结论是我们需要将选项设置为Enable,Excludeing Cached。但是上面这个从本地加载进行CRC校验的地方应该修改源码,改为0。

你可能感兴趣的:(unity)