Flutter AOT与JIT的区别

22

我的理解是Flutter是Ahead of Time(AOT)编译的。它能否被Just in Time(JIT)编译,如果可以,那么应该如何切换并使其正常工作?

谢谢!


@RubensMelo 所以理论上我应该能够使用dart:mirrors来获取Flutter对象的反射。或者还有其他问题吗? - user603749
当然可以使用它。 - Rubens Melo
3个回答

66

在开发模式下,Flutter 是即时编译的。这就是为什么我们可以如此快速地进行热重载/重启的原因。在发布应用程序时,代码会被预先编译成本机代码,以获得更好的性能、最小化体积并删除在开发模式下有用的其他东西。


1
你的意思是JIT在调试模式下工作,而AOT在发布和配置文件模式下工作,对吗? - Balaji
1
是的,默认情况下是调试模式->JIT,发布和性能分析->AOT - undefined

7
根据资源,我得到了以下信息:

1)Dart代码被提前编译为本机的ARM库 (AOT)。

2)启动应用程序时,应用程序加载Flutter库。 任何渲染、输入或事件处理等操作都将委托给已编译的Flutter和应用程序代码。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接