Unity热更新方案

(本博文只是对某些博客,资料进行了整理,如果有涉及到侵权的问题,提出来马上删除哈)

一、不同平台热更新的比较

Android 应用的热更新

• 将执行代码预编译为assembly dll

• 将代码作为TextAsset打包进Assetbundle

• 运行时,使用Reflection机制实现代码的功能。

• 更新相应的Assetbundle即可实现热更新。

 

Android 与iOS 热更新的异同

 苹果官方禁止iOS下的程序热更新;JIT在ios下无效。

• 热更新方案:Unity+Lua插件

二、热更新的各种Lua 插件的对比

3.1、uLua(asset store)

•  uLua插件原生版本,开山鼻祖

•  不会产生静态代码

•  反射机制,效率低下,速度慢,gc alloc频繁

•  已停止更新维护,不支持Unity5.x,淡出主流

3.2、XLua(腾讯2017年开源的手游热更新方案)

开发只用C#

运行也是C#,性能可以秒杀lua

出问题了才用Lua来改掉C#出问题的部位,替换甚至做到不用重启游戏;

补丁需要预打入

开头加入几个il指令对性能的开销

开源项目地址

https://github.com/Tencent/xLua

3.2uLua & cstoLua(合并后叫做toLua

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值