Xlua热更框架策略,Unity基础知识学习三

1.什么是Xlua热更框架策略

2.为什么要有Xlua热更框架策略

3.如何使用Xlua热更框架策略,使用Xlua热更框架策略的不同方案比较

热更包含代码热更表格数据热更美术资源热更三部分。

  1. 使用MD5效验文件版本,删除不在版本控制内的资源,如有变动替换并下载新的资源。
  2. 代码热更:替换lua脚本后,开启lua解释器。
  3. 表格数据热更:热更完毕后,替换表格数据资源。
  4. 美术资源分为图片资源和模型资源热更。图片资源热更:热更完毕后进入游戏。模型资源热更:热更完毕后进入游戏。

 3.1 MD5校验

  1. 通过请求服务器获取到服务器的MD5码配置文件
  2. 获取本地的MD5码配置文件
  3. 逐个比对每个文件的MD5码
  4. 统计MD5码不一致的文件列表
  5. 从服务器下载更新文件列表中包含的文件

4.Xlua热更框架策略源码实现

5.Xlua热更框架策略关键点,重要节点,疑难杂症场景 

5.1 MD5算法的实现

MD5消息摘要算法。算法输入为任意长度的消息,输出为一个128位的消息摘要。

MD5的实现原理:

  1. 填充:将输入信息进行512求余分组,若不等于448,那么进行填充 1 和0,一个1 N个0。最后的数据就为N*512+448
  2. 记录信息长度:将得到的信息用64位存储填充之前的信息长度,这样448+64=512,总信息为N+1个512
  3. 以四个常数ABCD与每组512位进行函数运算,第一组的结果作为第二组的计算参数,加上第二组的初始值算出第二组的结果,最后输出的ABCD,4组32位的常数。拼接得到MD5码

【面试总结】MD5及加密算法优劣_Dandy1awcoder的博客-CSDN博客_md5加密优缺点最近在面试中问到项目为什么要使用MD5加密,对其他加密算法也不是很理解。于是利用这篇文章进行总结。常用加密算法可以分为单向加密和双向加密。单向加密:只提供单向加密不能解密,不可逆的过程。通常用来存储用户名和密码,直接从前端传输来存储到数据库中双向加密:又分为对称性加密算法和非对称性加密算法。对称性加密算法,发送和接收端双方都知道秘钥和加密算法且秘钥都是相同的,之后便是对数据的加密和...https://blog.csdn.net/weixin_38035852/article/details/81667160

5.2 几个关键目录streamingAsset什么的 

Application.dataPath (Read Only)  :其实就是平常时候看到的Assets目录

 Application.streamingAssetsPath (Read Only)

 Application.persistentDataPath (Read/Write) 

在ios端和Android端Application.streamingAssetsPath只能读取而不能修改,一般在这个文件夹里面存放一些二进制文件(比如AssetBundle,mp4等一些文件),这些文件在打包时不会被压缩(最好只放少量的文件,而且要做好加密工作,不然别人一解压就得到了里面的内容了),因此读取的速度是比较快的。

在Android端读取这个文件夹时,只能使用WWW进行异步读取,而在ios和pc上则可以使用File类及其他同步读取方式。Application.persistentDataPath可以在运行后进行读写,由于有了这个特性,我们可以将需要热更的文件放在里面(当然不能直接放,可以将一些文件放在Application.streamingAssetsPath,在运行后再将Application.streamingAssetsPath里面的文件移动到Application.persistentDataPath下,再进行热更。也可以完全从服务器上下载后存放在Application.persistentDataPath。)。

同样的在Android端读取这个文件夹时,只能使用WWW进行异步读取,而在ios和pc上则可以使用File类及其他同步读取方式。

6.引用 

超详细的Unity3D热更新框架,附示例链接,小白也能看的懂_Tel17610887670的博客-CSDN博客_unity 热更新框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值