微信小游戏的本地缓存和清除的使用 (text.js image.js file-util.js)

 参考:

微信小游戏,文件系统html

UpdateManager-小游戏json

 

1、Egret提供的本地缓存工具类( 备注:新版本进行了修改,并增长了sound.js等)

在微信小游戏项目中,Egret提供了file-util.js、image.js、text.js来控制微信的50M缓存。api

 

 

2、尝试缓存一个json文件

如今咱们尝试使用text.js来缓存json配置文件。当缓存时,启动游戏不会再次下载这个文件;当没有缓存时,启动游戏时会再次下载这个文件。缓存

 

使用一个测试json文件,以下图server_config.json。至于这个文件是干什么的就不用关心了,测试用的 = =!服务器

 

 修改text.js的needCache,增长root.indexOf("magicfactory") >=0的判断。微信

 

server_config.json文件保存在服务器路径下,路径中有magicfactory,因此当是这个路径下载的json文件,就会被缓存起来。微信开发

 

当咱们没有缓存这个文件时,会进行下载,在微信开发者工具的network中能够看到。app

 

 

当咱们缓存了这个文件时,就不会再次进行下载了。工具

 

 

3、如何清理缓存

工具类已经提供了remove的方法。测试

 

 

如下是微信小游戏官方的示例代码。 在检查到新版本时有包更新时,能够执行一次fileutil.fs.remove()。

实际测试PC开发者工具onCheckForUpdate很快,可是真机这个请求会很是慢。

const updateManager = wx.getUpdateManager()

updateManager.onCheckForUpdate(function (res) {
  // 请求完新版本信息的回调
  console.log(res.hasUpdate)
})

updateManager.onUpdateReady(function () {
  wx.showModal({
    title: '更新提示',
    content: '新版本已经准备好,是否重启应用?',
    success: function (res) {
      if (res.confirm) {
        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate()
      }
    }
  })
})

updateManager.onUpdateFailed(function () {
  // 新版本下载失败
})
相关文章
相关标签/搜索