为什么在Flutter中提供热重载,而在本机Android或iOS中不提供热重载?

时间:2020-07-05 19:06:45

标签: android ios flutter

我想知道为什么Flutter目前可以使用热重装功能,但在本机平台上却不可以?

我试图找到资源来解释这一点,但是找不到好的。

2 个答案:

答案 0 :(得分:1)

热重载是很难实现的功能。此外,从头开始构建应用程序开发框架时,比将其添加到现有框架中更容易实现此功能。

在iOS开发中,最接近热加载的是Xcode Previews。 Apple去年以SwiftUI的第一天功能发布了它,而不是为现有的13年历史的UIKit框架实现它。

答案 1 :(得分:0)

我不确定Apple是否正在为xcode制作某些东西,但是否为原生Android does have hot reload。其工作原理与抖动热重装相同或非常相似。

有关热重新加载如何用于本机Android here

的更多信息

为了迅速,我只发现了一个名为InjectionIII的非官方图书馆

我认为swift会提前提前直接编译为机器代码这一事实是实现热重装的最大问题,因为其他语言严重依赖于虚拟机来完成此任务。

在Flutter中

热重装通过将更新的源代码文件注入到正在运行的Dart虚拟机(VM)中来进行。 VM使用新版本的字段和函数更新类后,Flutter框架会自动重建小部件树,使您可以快速查看更改的效果。