为什么手游选择lua热更新方案。

https://www.zhihu.com/question/29603593

主要因为iOS系统的原因。

在这个知乎问题里,有两条回答,能解释我的疑惑。如下两个图。

我个人总结为,编译型语言(C#)热更,是更新动态链接库=》中间语言=》机器码=》申请可读写可执行的内存=》机器码放内存=》指令指针指过去。这样就OK了。但是,iOS限制了内存权限,所以行不通了。

但是解释型语言(lua),不是走上边的流程。而是作为一种数据,一种计算需求,然后由虚拟机去执行。

 

原文地址:https://www.cnblogs.com/kuluodisi/p/14096172.html