我想知道为什么Flutter目前可以使用热重装功能,但在本机平台上却不可以?
我试图找到资源来解释这一点,但是找不到好的。
答案 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框架会自动重建小部件树,使您可以快速查看更改的效果。