Nik*_*nko 2 android dart flutter
我读过Dart使用自己的DartVM.因此,Flutter可以在开发应用程序和AOT时使用JIT(用于热重载等)将后者构建为"本机"应用程序(.apk/.ipa).
根据两个平台(Android/iOS)的文档:
提前(AOT)编译成本机ARM库
但是,如果应用程序已通过Dalvik/ART运行,Flutter如何在Android上使用自己的DartVM?VM是否已内置到我们的.apk中,因此可以将其发送到真正的Android设备?
如果DartVM没有用于最终版本那么GC的东西呢?Flutter倾向于创建许多短暂的物体,这对于DartVM的Generational GC来说很好,但对于ART来说并不是那么好.
该颤振引擎使用飞镖VM在两种不同的模式:
flutter run命令监视主机文件系统以更改Dart源,并在检测到此类更改时,快速将Dart源编译为内核(中间)格式.然后通过热重载将其同步到在设备上运行的引擎,并在JIT模式(Android)或解释模式(iOS)中执行.gen_snapshot,它发出AOT ARM机器代码,然后链接到最终应用程序.您可以在我们的维基上找到AOT模式操作的详细说明.请注意,有一组用Java编写的瘦平台绑定,通过JNI与引擎连接,但Flutter引擎的核心是用C++编写的,并使用NDK构建,因此这些位不依赖于Dalvik/ART .
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |