关于U3D热更新


1.热更新
在游戏运行期间,动态修改游戏相关的逻辑或资源,玩家不需要重新安装游戏包。
2.做法
a.将执行的代码编译成dll,做成assetbundle
b.更新后,将新的代码资源加载到内存中,通过反射找到想要得到的Component
c.注意Plugins下的代码不能热更
d.iphone版本的C#代码无法热更新:
苹果官方禁止IOS下的程序热更新,JIT在IOS下无效
热更新方案:使用Lua插件,Lua脚本可以直接解释执行,将Lua脚本转化为文本资源(如同纹理、音频等),以更新资源的形式更新程序
3.AOT与JIT的概念
AOT:静态编译--运行前已经编译好,代码段不能被改变
JIT:即时(动态)编译-- 就是一个程序在运行的时候创建,并且运行了全新的代码 ,不仅生成而且运行了。IOS上的反射是部分支持,支持使用反射读取源代码,但不支持使用反射动态生成可执行代码,所以2.a的做法在iOS是行不通了。
这些是限制反射的命名空间 Profiler、Reflection.Emit、Reflection.Emit.Save functionality、COM bindings、The JIT engine、Metadata verifier

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值