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


 參考:

微信小游戲,文件系統

UpdateManager-小游戲

 

一、Egret提供的本地緩存工具類( 備注:新版本進行了修改,並增加了sound.js等)

在微信小游戲項目中,Egret提供了file-util.js、image.js、text.js來控制微信的50M緩存。

 

 

二、嘗試緩存一個json文件

現在我們嘗試使用text.js來緩存json配置文件。當緩存時,啟動游戲不會再次下載這個文件;當沒有緩存時,啟動游戲時會再次下載這個文件。

 

使用一個測試json文件,如下圖server_config.json。至於這個文件是干什么的就不用關心了,測試用的 = =!

 

 修改text.js的needCache,增加root.indexOf("magicfactory") >=0的判斷。

 

server_config.json文件保存在服務器路徑下,路徑中有magicfactory,所以當是這個路徑下載的json文件,就會被緩存起來。

 

當我們沒有緩存這個文件時,會進行下載,在微信開發者工具的network中可以看到。

 

 

當我們緩存了這個文件時,就不會再次進行下載了。

 

 

三、如何清理緩存

工具類已經提供了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 () {
  // 新版本下載失敗
})

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM