Addressable CRC设置详解

设置

Asset Bundle的CRC设置中有三个选项:
Disable;
Enable,InClude Cached;
Enable,Excludeing Cached;
修改后实际改的是这里的选项:
在这里插入图片描述

Disable

设置为Disable,实际上是将BundledAssetGroupSchema类的UseAssetBundleCrc参数设为false;这样打包的时候AssetBundleRequestOpetion的Crc为0,实际上加载从网络或者本地Cache的Bundle都不会有CRC校验。
在这里插入图片描述

Enable,InClude Cached

的时候。BundledAssetGroupSchema类的UseAssetBundleCrcForCachedBundles这个参数为true。我们可以看到加载网络请求的Bundle时候,这个时候一定会去进行CRC校验。这个时候就会导致加载比较耗时。
在这里插入图片描述

Enable,Excludeing Cached

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

但是开启了Enable CRC校验的时候。加载本地的bundle这个时候,无论Include Cached还是Excludeing Cache都会进行CRC校验。
在这里插入图片描述

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

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

猜你喜欢

转载自blog.csdn.net/KindSuper_liu/article/details/131330786