unity3d Caching.CleanCache 不会工作

unity3d Caching.CleanCache won't work

我在我的游戏中使用了 AssetBundle,并且想让用户在设置页面中清除 AssetBundle 缓存。 我尝试使用 Caching.CleanCache 但它 returns "false" 因为我在设置中使用 AssetBundle 缓存 page.I 试图加载一个空场景并清除缓存但是它也不会工作。 我需要重新启动应用程序吗?有人知道任何解决方案吗?

让我回答我的问题。 做了一些研究后,我发现我的游戏有一些卸载的资产包。 我能够在卸载所有资产包后删除缓存。

对我来说,调用以下内容是不够的:

AssetBundle.UnloadAllAssetBundles(false);
bool success = Caching.ClearCache();

我在缓存中有一个 assetbundle,它不是使用 UnloadAllAssetBundles 卸载的。这种情况发生在我之前立即提出 2 个请求的捆绑包中。第二次,捆绑包下载失败。缓存处于不一致状态,然后无法卸载。 所以在我解决了2个请求的问题后,上面的代码就可以正常工作了。

同一资产包的 2 个请求问题已通过让第二个请求等待第一个请求完成来解决。