微信小游戏:ccc2.0b4 版本更新并未成功清理本地缓存,导致超出限制,无法写入

  • Creator 版本:2.0b4

  • 目标平台: Android 微信小游戏

  • 详细报错信息,包含调用堆栈:

  • 重现方式:正常操作

  • 之前哪个版本是正常的 :1.9.2\1.10.rc

  • 手机型号 :小米3、华为honor 7c

  • 出现概率:极大

  • 额外线索:ios8 微信小游戏遇到过4916问题,导致加载场景失败。 可以确定REMOTE_SERVER_ROOT 配置没有问题 但是没有报上图错误。随后鬼使神差将微信升级到最新,结果顺利进入游戏,可是代码包及远程资源并未修改。由此推测,通过升级,顺带删除了本地的缓存文件,于是可以进入。

莫非要手动清理?若是手动清理,那md5干啥用的呢

再提供一个线索,模拟器操作清除缓存,从目录可见usr已被移除,可是此时任然报错,如图:

md5的作用仅仅是改变资源的url值,避免浏览器缓存资源。和删不删除资源没关系。清理缓存讲道理是你自己决定的,引擎来做这个事情不太合适。
有时候会用到历史资源,如果缓存还在,md5是相同的,就不需要重新下载,但如果每次都清除旧缓存,就要重新下载浪费带宽了。
版本缓存清除机制要合理。定时清理,根据版本号决定是否清理,存储空间快不够时清理,根据实际需要选择咯。

你说的不无道理,只是看了官方文档,加上遇到当前问题一对照,疑惑不解。

对于浏览器来说,如果你的html里没有声明no-cache标签,那么浏览器会将本页面的资源文件缓存在浏览器客户端的本地小型数据库内,一定时间后才会删除。
文档里说旧版本的资源在缓存中就自然失效这个描述确实有点误导人,实际上只是访问了另一个完全不同的文件而已,旧文件缓存依然存在。

就你目前的问题,就是文件超过最大存储限制,清理下就可以了- -

感谢回复,当前问题通过相关接口清理应该可以的,正在尝试中。
不过好奇怪:1、既然已经失效为什么不删掉,毕竟客户端也不知道这个文件失效了,除非外部大版本控制删除这个包,反之是不是要对每个文件做版本管理。
2、文档所示, 中可并没说到还要客户端管理删除这些失效的文件哟。