lua热更新步骤

Lua热更新步骤

Lua热更新的三种方式

第一种

使用全Lua进行Unity游戏项目的开发,不过不推荐,因为Lua性能不好,Lua调用C#是通过反射调用,频繁调用就会造成较大的性能开销;举例:transform.position = pos;这部分代码就在频繁的调用取值、入栈、C#到Lua类型转换;

第二种

半C#半Lua开发,C#负责项目主要逻辑,Lua只负责UI这部分的功能实现,推荐,这样的话性能消耗就没那么大了;

第三种

项目结束后,才给出的新需求,说项目要加个热更新的功能,这时候总不能把项目推翻重做吧;这个时候就是第三种方式,打热补丁;在原有项目的基础上改动,把需要热更新的部分在Lua重写,再打上热补丁 “Hotfixx” ,注入到项目中;不过这种方式也不推荐,只建议在项目完成后,才有的需求, 不然项目越来越大,就会出现性能的问题。

热更新

热更新简单点来说,就是:无非对比一下版号,下载到可读可写目录下,优先读这个目录;
详细点的话就是:
1、第一步,从服务器下载资源对比文件;
这个文件里面有很多ab包信息,里面包含的信息有ab包名、ab包大小、ab包的MD5码等等。

2、第二步,把下载下来的远端资源对比文件和本地资源对比文件进行比较;
如果 本地资源对比文件里面 没有 远端资源对比文件 没有的ab包,则存入下载列表,
如果有相同名字的AB包文件,并且MD5码一致,则不用处理
如果有相同名字的AB包文件,但是MD5码不同,则也存入下载列表,
如果 本地资源对比文件 里有 远端资源对比文件里 没有的ab包 则进行删除。

3、第三步,把下载列表中的ab包下载到可读可写文件夹下,并且把本地资源对比文件删除,把远程资源对比文件下载下来,热更新就结束了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值