參考:
一、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 () { // 新版本下載失敗 })