我只想知道Flutter是否直接在Android上运行Dart代码,还是将其转换为Java/Kotlin并实际运行?
也许这可以帮助你:
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和应用程序代码。这类似于许多游戏引擎的工作方式。