패스잇
모바일 개발 · 중급

Flutter 애플리케이션의 성능을 최적화하기 위한 방법들을 3가지 이상 제시하고, 각각의 방법이 어떤 원리로 성능 향상에 기여하는지 설명해주세요.

힌트 · 불필요한 리빌드를 줄이고, 위젯 트리의 깊이를 최적화하며, 리스트 뷰와 같은 동적 콘텐츠의 효율적인 렌더링을 고려해야 합니다. `const` 키워드 사용, `RepaintBoundary` 활용, `ListView.builder`가 대표적입니다.

위젯 트리빌드 최적화비동기 처리프로파일링메모리 누수

모범답안

Flutter 애플리케이션 성능 최적화 방법은 여러 가지가 있지만, 중요한 세 가지를 말씀드리겠습니다.

첫째, 불필요한 위젯 리빌드를 줄이는 것입니다. const 키워드를 사용하여 변경되지 않는 위젯을 상수화하면, Flutter는 해당 위젯을 다시 빌드하지 않습니다. 또한, RepaintBoundary 위젯으로 특정 영역을 감싸면, 해당 영역 내부의 변경 사항이 외부 위젯에 영향을 주지 않아 리빌드 범위를 최소화할 수 있습니다.

둘째, 위젯 트리의 깊이를 최적화하는 것입니다. 위젯 트리가 너무 깊으면 렌더링 성능에 영향을 줄 수 있습니다. 불필요한 위젯을 제거하거나, 위젯을 재구성하여 트리의 깊이를 줄일 수 있습니다.

셋째, ListView와 같은 동적 콘텐츠를 효율적으로 렌더링하는 것입니다. ListView.builder를 사용하면 화면에 보이는 부분만 렌더링하므로, 많은 데이터를 가진 리스트를 처리할 때 성능을 크게 향상시킬 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Flutter / Dart 면접 질문

← Flutter / Dart 면접 질문 전체 보기