[Flutter 일반] Hot Reload

이건우·2024년 1월 21일
0

Flutter 개발

목록 보기
3/5

백엔드에서 nodemon의 기능처럼 코드가 바뀔경우 굳이 재시작 할 필요없이 구동할 수 있는것이 바로 flutter의 Hot Reload이다. 하지만 Hot Reload는 만능이 아니다. 다시말해 핫 리로딩이 되는것도 있지만, 핫 리로딩이 되지않는것이 있다는 뜻이다.

기본적으로 많은 상황에서 Hot Reload를 통해 즉각적으로 결과를 확인할 수 있지만 특정 케이스에서는 Hot restart,Full restart를 활용해야 할 수 있다. 동작하지 않는 경우는 다음과 같다.

Hot Reload가 작동하지 않는 경우

  • 앱이 종료된 경우

  • 변경된 부분 지점에서 에러가 발생한 경우
    - Compilation Error가 발생한 경우 동작하지 않을 수 있다. 해당 Error를 수정한다면 바로 결과를 확인 할 수 있다.

  • Enumerated types(열거형 타입)
    - 열거형 타입을 클래스로 변경하여 클래스를 열거형 타입으로 변경할 경우

  • 폰트변경
    - 대부분 assets에 대해 Hot reload를 지원하지만 font 변경의 경우 Hot restart를 해야한다.

  • Generic Types
    - type의 정의가 변경된 경우에 동작하지 않는다.

  • Native Code
    - 스위프트, 코틀린, 자바등의 native 코드를 수정한경우 Full Restart를 진행해야한다.

최종적으로 Hot Reloadmain() 혹은 initState() 를 다시 실행하지 않기 때문에 MyApp 변경점은 보이지 않게된다. 다만 Hot Restart를 통해서는 main()을 다시 실행하기 때문에 기대와 같이 변경사항이 반영됨.

출처 :

블로그

Flutter 공식

profile
내가 느낌만알고 한줄도 설명할줄 모른다면 '모르는 것'이다.

0개의 댓글