인프런 커뮤니티 질문&답변

날리는달님의 프로필 이미지
날리는달

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

코드정리하는 방법 관련 질문입니다

해결된 질문

작성

·

247

·

수정됨

0

한 클래스 안에서

row(
childern : [
topPart(),
bottomPart()
]
)
코드정리로 이렇게 분할하여 표시할떄


다른 클래스로 class _topPart() extends stlessWidget{...}하는 방법이랑

원래 클래스 내부에서 에서 Widget _topPart(){...}하는 방법 중에

 

퍼포먼스적인 점에서 차이가 있는건가요?
아니면 그냥 개인마다 취향(코드 뉘앙스)이 다르기 때문인건가요?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

말씀하신대로 뉘앙스의 차이가 매우 큽니다.

하지만 퍼포먼스적인 측면도 특정 상황에 차이가 날 수 있습니다.

위젯의 build() 함수는 해당 위젯 및 하위 위젯을 모두 재빌드 시킵니다 (const 등 특정 조건이 있지 않는이상).

함수로 위젯을 반환하면 결국 위젯 단위에서 build() 함수가 실행되지만 build() 함수 실행이 필요한 부분만 위젯으로 따로 제작해서 build()를 실행하게되면 퍼포먼스적인 이득을 많이 볼 수 있습니다. 이외에는 약간의 메모리 차이는 있을 수 있으나 미세하다고 보시면 됩니다.

이해 안되는 부분이 있다면 언제든 다시 질문주세요!

감사합니다!

날리는달님의 프로필 이미지
날리는달

작성한 질문수

질문하기