极速入门ILRuntime热更新

极速入门ILRuntime热更新

    • 关于我们
    • 1.认识ILRuntime
    • 2.建立第一个ILRuntime程序
    • 3.ILRuntime源码分析
    • 4.深入ILRuntime热更新原理
    • 5.深入ILRuntime热更新原理

阅读本片文章大约需要15分钟,也可以参考雷蒙德老师的B站视频讲解,它可以帮助你更快速理解其中的技术概念以及如何实战:极速入门ILRuntime热更新

关于我们

  • 如果需要和我进行技术交流请扫第一个二维码。
  • 如果需要领取课程福利,比如课程资料、课程回放,了解课程系统详情,请扫第二个二维码。
  • 如果需要进群和其他小伙伴一起学习,请扫第三个二维码。
    接下来就进入我们的课程吧。

1.认识ILRuntime

  • ILRuntime可以直接使用VS2015以上版本进行开发,ILRuntime的解译引擎支持.NET4.6编译的DLL。
  • ILRuntime的执行效率高,是L#的10-20倍。如果不是使用反射,而是使用基于CLR绑定的方式可以使跨域调用的性能达到sLua的2倍左右。
  • ILRuntime可以支持跨域继承。即ILRuntime的脚本可以继承其他C#的类。
  • ILRuntime支持泛型,这点Lua是不可以的。
  • 3.ILRuntime源码分析

    4.深入ILRuntime热更新原理

    • 跨域委托:需要额外添加适配器或者转换器。例如,主工程中有一些方法,在热更工程中通过一个代理去调用主工程的方法,需要实现跨域委托。(想知道关于跨域委托的实现可以添加老师联系方式)
    • 跨域继承:如果想在热更工程里继承主工程的类/接口,则需要在Unity主工程中实现一个继承适配器并注册。这样热更工程就可以调用继承适配器进行继承。
    • 反射转换:热更工程中的数据类型和C#数据类型是不通用的,所以需要类型映射后使用。
    • CLR重定向:ILRuntime之所以能达到高性能,是因为它会劫持热更工程中可能出现GC的方法调用,它可以进行重定向。我们就有机会将可能产生GC的功能替换成我们自己的实现,从而实现高效能。更多请参见官方文档。
    • 如果要对比ILRuntime和Lua的性能,最好亲自去进行测试。测试的话,要在Release模式下进行测试。
    • 使用ILRuntime后,在进行项目打包时,要关闭Development Build选项,不然会增加额外负载,导致性能测试不准确。
      • 在我们的公开课中有介绍过Unity热更新的底层原理,有兴趣的话可以加一下艾莉丝老师领取课程资料。
      • 在我们的课程当中会讲到ILRuntime是如何实现CLR绑定和重定向等高级技术的底层原理的。
      • 在公开课中我也说过,既然IOS系统是不能即时编译的,也就是不能动态分配一块内存给它执行权限,那为什么ILRuntime可以动态加载脚本在IOS平台上动态执行脚本。这个也会在我们课程里讲到。
      • 我们会讲到ILRuntime栈的原理以及如何手写代码实现基于栈的代码绑定。
      • 同时我们还会学习Lua框架和基于Lua框架的热更新解决方案。
      • 在加入课程以后老师会帮助你定制专属的学习计划,针对每一位同学的基础和学习目标,一对一的讲解课程中的知识点。整个课程由我亲授,课程辅导也是由我亲自辅导,所以不会有什么助教来忽悠大家。已经加入我们VIP课程的同学,对我们课程都是比较满意的。
      • 老师还会帮助你CodeReview,让你学会代码的规范性,源码的管理,代码的性能,代码的框架等。
      • 我们的课程是提前录制好的,只是为了学习效果我们会进行直播授课。
      • 我们还有两年的一对一服务,在两年内我们会提供优质服务,这两年足以让你从新手成长为一个合格的开发者。
      • 我们还有VIP同学圈和企业内推。
      • 最后我们还有就业和创业指导。
      • 有兴趣的同学请添加艾莉丝老师的QQ,加入我们的VIP课程中来。
        极速入门ILRuntime热更新

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年10月13日
    下一篇 2020年10月13日

    相关推荐