플러터를 하다보면 가장 많이 보는 안내창이 바로 위젯에 const 키워드를 넣으라는 문구일 것이다. 그렇다면 왜 IDE에서 제발 const를 넣으라고 울부짖는걸까?
Flutter 위젯에 const를 붙여야하는 이유는 바로 메모리 최적화 때문이다. const없이 위젯을 선언하게 되면 새로운 중복된 위젯 메모리공간을 사용하게 되기 때문이다. 단순히 메모리 최적화뿐만 아니라원하는 위젯 메모리를 바라보게 해야할 때 위젯이 중복되버리면 어느 위젯 메모리를 포인팅해주어야하는지 상당히 난감해지므로 왠만하면 위젯 앞에 const를 붙이자.
주의할점으로는 위젯 앞에 const를 붙인다는 것 자체가 해당 위젯은 변하지 않는다는 것을 선언하는 것이다. const 자체가 컴파일 상수임을 의미하기 때문이다. StatefulWidget, 애니메이션과 같이 상태에 의해 변화하는 위젯들은 const를 붙여줄 수 없다는 것을 기억하자.
linter:
rules:
- prefer_const_constructors
- prefer_const_literals_to_create_immutables
위젯에 const를 사용해주지 않아도 에러는 안나기 때문에 빌드하는데 문제는 없다. 그렇다고 팀원이 모든 statless 위젯에 const를 안붙이면 곤란할 수 있으니 린트 설정을 위와 같이 하여 플러터 불변위젯에 const를 붙이지 않은 실수를 최소화할 수 있다.
'Flutter' 카테고리의 다른 글
데이터 바인딩과 Reactive X (0) | 2024.06.03 |
---|---|
Hot Observable & Cold Observable (0) | 2024.06.01 |
flutter_localization depends on flutter_localizations from sdk which depends on intl 0.18.1 에러 (2) | 2024.05.30 |
Sliver 에 대해 알아보자 (0) | 2024.05.30 |
Throw 안쓰고 에러 의미있게 처리하기 (0) | 2024.05.29 |