微信小遊戲的本地緩存和清除的使用 (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 () {
  // 新版本下載失敗
})
相關文章
相關標籤/搜索