作者:闲鱼技术-君爱

1. 前言


闲鱼技术团队在2018年引入Flutter后,越来越多的业务场景在Flutter上使用。Flutter的亚秒级热重载一直是开发者的神兵利器,提供给开发者快速修改UI,增加功能,修复bug,不需要重新启动应用,即可看到改动效果。

热重载(HotReload)到底是如何实现的呢?

本文带你一步步揭开Hot Reload神秘面纱。

2. 源码分析

2.1 FlutterTools调试

想了解HotReload如何运行,首先,我们需要掌握flutter_tools的调试方法。

我们创建一个名为fluttertest的简单flutter项目作为例子。




使用AndroidStudio打开flutter_tools(/flutter/packages/flutter_tools),断点设置为HotRunner.restart()