귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!===핫 리로드=== 핫 리로드(Hot Reload) 기능을 제공하여 코드가 변경된 부분이 바로바로 디버그 모드의 앱에 반영되는 것도 특징이다. 네이티브도 코드가 변경되었을 때 전체 컴파일 및 패키징 없이도 변경 내용을 반영하는 기능이 있지만 Flutter의 핫 리로드는 이보다 훨씬 빠르고 간편하다. 위젯의 속성을 바꾸고 나서 그게 어떤 모양으로 보이는지 아주 간단하하게 확인해 볼 수 있기 때문이다. 뭐 하나 바꿀 때마다 다시 컴파일하고 실행하는 것과는 비교도 안 되게 빠르고 편리하다. 특히 재실행이 아니라, 실행 상태를 유지하면서 코드를 바꾼 내용만 반영해 주기 때문에 위젯의 디버깅에 큰 이점을 가진다. 애초에 Flutter 설계 때부터 이 기능을 염두에 두었다고 한다. 정확하게는 [[Dart]] 가상머신이 제공하는 기능이다. 다만 핫 리로드로 바로 변경이 적용되는 부분은 위젯을 그리는 부분, 특히 Widget.build() 메서드 안에 있는 코드이며<ref>build() 메서드 안에서 다른 메서드나 함수를 불렀다면 이것도 해당된다.</ref>, 조건에 따라 완벽하게 올바른 실행을 보장하지는 않기 때문에 코드가 문제가 없는데도 오류가 나거나 이상하게 동작할 수 있다. 핫 리스타트도 엄청나게 편리한 기능인데, 1초 정도면 되는 핫 리로드에 비하면 길지만 4~5초 정도면 재실행이 되므로 코드 한 번 고칠 때마다 다시 컴파일해서 실행시키려면 분 단위로 기다려야 했던 앱 개발 환경과 비교해 보면 정말 눈물날 정도로 순식간이다. 핫 리로드는 현재의 데이터가 초기화되지 않는다. 즉 위젯이 가진 속성값을 변경시키고 나서 핫 리로드를 했다면 변경된 값이 그대로 유지된다. 반면 핫 리스타는 모든 값이 초기화된다. 만약 여러 페이지로 된 앱을 첫 페이지에서 다른 페이지로 넘어간 상태에서 핫 리로드를 했다면 넘어간 페이지를 그대로 유지하지만 핫 리스타트는 첫 페이지로 돌아간다. 핫 리로드는 현재의 실행 상태를 유지한 채로 프로그래머가 위젯을 변경한 부분만 업데이트해 주며, 핫 리스타트는 앱을 재실행하는 것으로 볼 수 있다. 핫 리로드를 했을 때 오류가 나거나 코드는 바꿨는데 생각과는 달리 외관이나 동작이 달라지지 않았다면 핫 리로드가 아닌 핫 리스타트로 재실행을 시켜보는 게 좋다. 핫 리로드나 핫 리스타트 둘 다 기존의 재실행 방법에 비해서 눈물날 정도로 빠르기 때문에 앱 개발 기간을 엄청나게 단축시켜 준다. 경우에 따라서는 핫 리스타트를 해도 계속 나는 오류가 있어서 다시 빌드가 필요할 수도 있다. 예를 들어 패키지를 새로 설치했거나 지웠을 때라든가 이미지, 폰트와 같은 자산(asset)을 추가했을 때와 같이 pubspec.yaml 파일을 변경했다면 이를 반영하기 위해서는 다시 빌드해야 한다. 핫 리로드나 핫 리스타트는 기기의 접속을 끊으면 변경된 내용이 반영되지 않으므로 변경된 내용을 기기에 완전히 심기 위해서는 실행을 중단시킨 다음 다시 컴파일해서 실행시키거나 프로파일 모드 또는 릴리즈 모드로 실행시켜야 한다. 참고로 프로파일 모드는 디버깅 정보가 그대로 다 뜨지는 않지만 앱 성능 측정과 로깅 기능은 유지하는 모드로, 릴리즈 모드에 준하는 속도를 내면서도 디버깅에 일부 도움을 받을 수 있다. 웹용 Flutter는 아직 핫 리로드는 지원하고 있지 않으며, 핫 리스타트만 지원한다. 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)