解决cocos creator微信小游戏本地缓存文件超过限制问题

cocos creator微信小游戏开发,如果游戏包内资源超过包体大小限制,那么可以通过远程加载的方式加载资源(代码脚本文件除外)。

小游戏在迭代过程中因为缓存资源的积累,在加载资源的时候会出现超过缓存限制大小的错误,这个问题在cocos creator官网的文档里其实提到了,如下:

注意:如果缓存资源超过微信环境限制,用户需要手动清除资源,可以在微信小游戏平台下使用 wx.downloader.cleanAllAssets() 和 wx.downloader.cleanOldAssets() 接口来清除缓存。前者会清除缓存目录下的所有缓存资源,请慎重使用;而后者会清除缓存目录下目前应用中未使用到的缓存资源。

我在预加载资源的时候,如果检测到资源加载失败,那么就会调用 wx.downloader.cleanAllAssets(),然后重新走资源加载流程,当然,因为wx.downloader.cleanAllAssets()这个接口里面执行的清理资源操作是异步执行的,所以我改造了下这个接口,在这个接口的参数列表里加了个回调方法,并且这个回调方法只有在清理资源操作完成后调用,然后我在这个回调函数里做重新走资源加载流程工作。

思路正确,但这里有一个问题,那就是在cocos creator引擎版本2.0.2以下的版本这个接口是没有用的,虽然接口存在,但里面的实现根本不能进行缓存资源清理。

所以,如果遇到同样的问题,请先把引擎版本升级到2.0.2以上(包括该版本)再做清理资源相关逻辑工作。

你可能感兴趣的:(解决cocos creator微信小游戏本地缓存文件超过限制问题)