Flutter将Dart代码转换为Java/Kotlin吗?

6
我只想知道Flutter是否直接在Android上运行Dart代码,还是将其转换为Java/Kotlin并实际运行?
1个回答

9

也许这可以帮助你:

Flutter 如何在 Android 上运行我的代码?

引擎的 C 和 C++ 代码使用 Android 的 NDK 进行编译。Dart 代码(包括 SDK 和您的代码)被提前进行本地编译(AOT),生成 ARM 和 x86 库。这些库被包含在一个“runner”Android 项目中,并构建成 APK。启动应用程序时,应用程序加载 Flutter 库。任何渲染、输入或事件处理等操作都由编译后的 Flutter 和应用程序代码代理完成。这类似于许多游戏引擎的工作方式。

调试模式构建使用虚拟机(VM)来运行 Dart 代码(因此它们显示“调试”横幅以提醒人们它们稍微慢一些),以启用有状态热重载。

Flutter 如何在 iOS 上运行我的代码?

引擎的C和C++代码使用LLVM编译。Dart代码(包括SDK和您的代码)都是预先编译成本机的ARM库。该库包含在“runner”iOS项目中,并构建为.ipa文件。启动应用程序时,应用程序会加载Flutter库。任何渲染、输入或事件处理等都委托给编译后的Flutter和应用程序代码。这类似于许多游戏引擎的工作方式。
调试模式构建使用虚拟机(VM)运行Dart代码(因此它们显示“调试”横幅以提醒人们它们稍微慢一些),以启用有状态热重载。
在此阅读更多信息:https://flutter.dev/docs/resources/faq#run-android

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