-
Creator 版本:2.0.10
-
目标平台: android
-
重现方式:快应用缓存较多的情况下再打开界面
以下是报错信息
关于这个报错翻阅了CocosCreator_2.0.10\resources\builtin\huawei-runtime\res\rt-adapter的引擎源码,有几点疑问
1.
根据代码和测试表现来看,downloadFile success 后因为存储限制导致saveFile fail,在fail的处理中并没有回传成功下载的资源,而是只是抛出了报错。
2.存储达到限制(华为快应用50M)后引擎应该没有做相关的删除资源处理,这点可以理解,我想手动删除资源时应该如何将resources文件夹下的路径转化为unlink需要传的filePath呢
3.另外查阅了华为的文档
对于临时文件的概念不甚清晰,我们这种靠300M的游戏应该不能通过本地用户文件来存储,临时文件的存在周期是什么样的呢,什么时候被创建,什么时候被删除。知道了这些我们才好复用已经下载过的临时文件减少下载量。
临时文件的概念需要稍等确认下
关于目前游戏资源问题,应该有两种方式解决。
1.资源都是实时图片,不做缓存,也就是参数是http url 方式。但这在2.0.10应该是有bug的。 http url方式首次会加载成功,后面进来会显示失败。(替换掉附件的res修复这问题)
2.用本地用户文件的方式,但这个要经常清理本地用户文件目录,防止超过50M资源上限报错
用附件的 res 目录覆盖掉原来 Creator 里 huawei-runtime 目录里的 res。
这个主要重构了 rt-adapter.js 的方式,把存储文件统一保存到了 hbs.env.USER_DATA_PATH + '/gamecaches 目录下。
用cleanCache方法根据需求调用删除。
res.zip (85.8 KB)
临时文件现在用户没有权限直接操作,只能使用比如 downloadFile 等 api 生成,在游戏结束的时候会被删除
谢谢我们看下


