[Flutter] const 생성자를 사용하는 이유

728x90

const 생성자를 사용하는 이유


Error : 'Prefer const with constatnt constructors'

 

위젯을 const 로 선언하면 불필요한 위젯의 rebuild를 줄임으로써 성능 향상에 도움을 줄 수 있다!

 

const 키워드를 사용하여 위젯을 만들면 앱의 수명(lifetime) 동안 위젯이 변경되지 않는다.

이를 통해 플러터는 런타임이 아닌 컴파일 타임에 위젯 작성을 수행하므로 빌드 프로세스를 최적화할 수 있다!(const는 런타임에서 정의되는 final 상수와 달리, 컴파일 타임에서 상수를 정의하기 때문)

 

 

위의 이미지에서 보이는 Text 위젯의 경우 앱의 수명 동안 변경되지 않는 상수 문자열이기 때문에 IDE에서 위젯을 const로 선언할 것을 권장하고 있다.

 

컴파일러는 모든 const 객체에 대해 동일한 메모리 부분을 할당하여 객체를 불변으로 만든다. 앱이 실행될 때 이 객체들은 딱 한 번 생성되기 때문에 불필요한 리소스를 낭비하지 않게 된다.

 

따라서 const로 정의가 가능한 위젯의 경우 const로 선언하는 것이 좋겠다.

728x90