Hot reload и hot restart. Отличие. Flutter
Эти две функции возможны только тогда, когда ваше приложение уже запущено.
Hot reload – отличный функционал, присутствующий во флаттере. Это самая простая и самая быстрая функция, которая помогает вам применять изменения, исправлять ошибки, создавать пользовательские интерфейсы и добавлять функции. На выполнение его функций требуется примерно одна секунда. При горячей перезагрузке не разрушает сохраненное состояние. Но ваше состояние state остается прежним (оно не откатывается к первоначальньному значению по умолчанию, как при первом запуске)
Hot restart – Намного медленнее, чем Hot reload, (однако куда быстрее, чем запуск приложения впервые) применяет все изменения, и возвращает наше состояние state к значению по умолчанию.
P.S. обе функции возможны, благодаря тому, что Flutter в режиме разработки компилируется just-in-time. (JIT – можно перевести как точно в срок, что означает, что же компиляция идет по ходу выполнения приложения, того, что нужно). Именно из-за этого можно сделать hot-reload/restart так быстро.
P.P.S. А в режиме выпуска (когда вы переходите к публикации своего приложения) ваш код компилируется за счет ahead-of-time (AOT – можно перевести как заблаговременная компиляция перед запуском приложения) в собственный код. Это долгий процесс, но зато, когда приложение запускается, то достигается лучшая производительность (т.к. весь код уже скомпилирован), минимального размера вашего файла и удаления других уже не нужных вещей, которые полезны в режиме разработки.