반응형
질문
위젯 트리를 생성할 때, 정적 위젯 앞에 const
를 삽입하면 성능이 향상될까요?
예시
child: const Text('이것은 일부 텍스트입니다');
대신
child: Text('이것은 일부 텍스트입니다');
Dart 2에서는 const
가 선택 사항이며, 일부 상황에서 자동으로 삽입됩니다. 이것은 그런 상황 중 하나인가요? 그렇지 않다면, const
를 사용하면 메모리 사용량이 줄어들거나 성능이 향상될까요?
답변
작은 성능 개선이지만, 큰 앱이나 애니메이션으로 인해 뷰가 자주 재구성되는 앱에서는 적용할 수 있습니다.
const
는 가비지 컬렉터에 필요한 작업을 줄입니다.
analysis_options.yaml
에서 일부 린터 규칙을 활성화할 수 있습니다. 이 규칙은 추론되지 않지만 가능한 경우 const
를 추가해야 할 때 알려줍니다.
- http://dart-lang.github.io/linter/lints/prefer_const_constructors.html
- http://dart-lang.github.io/linter/lints/prefer_const_declarations.html
- http://dart-lang.github.io/linter/lints/prefer_const_literals_to_create_immutables.html
또는 const
를 사용하지만 이미 추론되었을 때 알려주는 규칙도 있습니다.
자세한 내용은 https://www.dartlang.org/guides/language/analysis-options도 참조하세요.
반응형
댓글