- Hot reload: nạp mã Dart đã sửa vào máy ảo đang chạy rồi dựng lại cây widget, giữ nguyên state của app. Rất nhanh (thường dưới 1s), hợp chỉnh UI. Không chạy lại
main(). - Hot restart: khởi động lại app, dựng lại toàn bộ từ đầu → mất state, chạy lại
main(). Chậm hơn hot reload nhưng nhanh hơn full rebuild.
Một số thay đổi không hot-reload được, buộc phải hot restart hoặc full restart: đổi enum thành class thường (hoặc ngược lại), đổi khai báo generic (class A<T> → class A<T, V>), sửa code trong main()/initState() hay giá trị khởi tạo của biến static/global (hot reload không chạy lại chúng), và thay đổi mã native (phải build lại app).