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

摘要:
参考:微信游戏,文件系统UpdateManager-游戏1.白鹭提供的本地缓存工具类。在微信游戏项目中,白鹭提供了文件util。js,图像。js,文本。js来控制微信的50M缓存。使用测试json文件,如下图所示:server_config。json修改文本的needCache。js并添加根IndexOf˃=0。当我们不缓存此文件时,它将被下载,这可以在微信开发工具的网络中看到。当检测到新版本并更新包时,可以执行fileutil。fs。remove()一次。

 参考:

微信小游戏,文件系统

UpdateManager-小游戏

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

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

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

二、尝试缓存一个json文件

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

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

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

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

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

server_config.json文件保存在服务器路径下,路径中有magicfactory,所以当是这个路径下载的json文件,就会被缓存起来。

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

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

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

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

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

三、如何清理缓存

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

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

以下是微信小游戏官方的示例代码。 在检查到新版本时有包更新时,可以执行一次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 () {
  // 新版本下载失败
})

  

免责声明:文章转载自《微信小游戏的本地缓存和清除的使用 (text.js image.js file-util.js)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇低延时高RTSP兼容的EasyPlayerRTSPwin解决H.264一帧多个nal单元录像花屏问题方案跟我一起用Symfony写一个博客网站;下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【JavaWeb学习】过滤器Filter

一、简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提...

Apache 性能配置优化

前言 最近在进行apache性能优化设置。在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯。以下的apache配置调优均是在red had的环境下进行的。 httpd 相关查看命令了解 查看当前安装模块mpm(多路处理器) [root@localhost ~]# httpd -l 查看httpd进程数(即各个mpm模...

elasticsearch 性能优化

转载: https://www.cnblogs.com/jajian/p/10465519.html 硬件选择 Elasticsearch(后文简称 ES)的基础是 Lucene,所有的索引和文档数据是存储在本地的磁盘中,具体的路径可在 ES 的配置文件../config/elasticsearch.yml中配置,如下: # ---------------...

spring security 控制用户信息用户加密 缓存用户信息

1.MD5加密 任何一个正式的企业应用中,都不会在数据库中使用明文来保存密码的,我们在之前的章节中都是为了方便起见没有对数据库中的用户密码进行加密,这在实际应用中是极为幼稚的做法。可以想象一下,只要有人进入数据库就可以看到所有人的密码,这是一件多么恐怖的事情,为此我们至少要对密码进行加密,这样即使数据库被攻破,也可以保证用户密码的安全。 最常用的方法是使用...

memcached缓存批量更新解决方案探讨

众所周知,Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 俺所在的公司经营的主要是基于web和wap两个平台的手机游戏门户网站,分布式缓存解决方法正好有用武之地,多平台共享使用memcache缓存数据 (php+mysql+memcache),确实很大程度的缓解访问量过大对数据库的压力。但是,在享受便利的同时...

前端本地缓存:封装localStorage支持设置过期时间、命名空间 吴小明

- 当选中项目后,每隔5秒缓存一次当前页面所填内容 - 缓存至localStorage中,过期时间为7日,到期后自动删除当前项目的缓存,namespace为【visitPlanList】 - 中途退出软件时,下次进入新增页,选中之前的项目,会回显对应的内容 - 如果手动点击【放弃】按钮,并确认退出,那么会根据当前选中的项目id,删除对应的缓存 - 新增提...