美文网首页CocosCreator
cocosCreator热更新总结

cocosCreator热更新总结

作者: 奋斗的阿默 | 来源:发表于2019-04-01 10:47 被阅读1次

基本流程

客户端检查版本->客户端下载资源配置文件->对比本地配置文件->

挑出需要更新的文件->多线程下载更新文件至缓冲文件夹->校验文件md5->将缓冲文件夹移动至正式文件夹->设置资源搜索路径然后重启。

基本流程都大同小异。需要重点关注几个点:

1.检查版本

本地project.manifest存放了版本号、而客户端是使用version.manifest来存放的,为什么会不同呢?因为project.manifest是个大文件,如果每次检查版本更新都让用户去下载这么一个庞然大物,势必会对用户的体验造成影响。那么我们下去下载一个几kb的文件下来对比一下版本,如果需要更新,再去下载project.manifest来进行对比。

2.校验本地版本情况

 这点在上面流程里面是没有提到的。这是放在流程最前的。当你本地缓存了很多资源,这个时候我们进行大版本的更新。那么覆盖安装的情况下缓存资源是不会被清除的,那么我们新版本势必会去读取到旧的资源和代码,这样会造成不可估量的错误。因此我们会给每个客户端定义一个大版本号,在校验过后会存储起来。当新版本安装的时候会去获取旧版本号,然后如果是新版本安装,就会去清除所有资源缓存内容。

3.多线程下载

下载的线程是可以进行限制的。下载过程中如果有文件下载失败了,那么最终会提示热更新失败,失败的情况下文件都会保存在缓冲文件夹下。等待下一次重试的时候继续下载。

4.校验文件md5

下载过程中可能造成文件出现有异常错误,虽然文件正常下载,但是已经损坏。所以需要在下载每个文件之后对其进行校验。校验的方式需要和加密的时候一致。

5.搜索路径配置

目前由于引擎问题可能导致js层面的配置路径无效,因此最好在c++那边进行配置。

需要增加的按钮

重试按钮:下载失败时重试。使用cocos提供的下载失败文件的接口。

修复按钮:清除所有资源重新进行更新。常规操作移除所有热更文件夹。

相关文章

网友评论

    本文标题:cocosCreator热更新总结

    本文链接:https://www.haomeiwen.com/subject/uemmbqtx.html