패스잇
모바일 개발 · 심화

Flutter 앱에서 프레임 드롭(Jank)이나 과도한 메모리 사용과 같은 성능 문제를 진단하고 최적화하기 위해 Flutter DevTools의 어떤 기능들을 활용할 수 있는지 구체적인 시나리오와 함께 설명하십시오. 특히, Profile 모드에서 CPU Usage, GPU Rendering, Memory 탭을 어떻게 분석하여 병목 지점을 찾아내는지 그 과정을 제시하십시오.

힌트 · DevTools는 UI 트리의 재빌드/재레이아웃/재페인트 비용, CPU/GPU 사용량, 메모리 할당 등을 시각적으로 보여줍니다. 렌더링 오버헤드를 줄이고 불필요한 위젯 재빌드를 방지하는 것이 핵심입니다.

Flutter DevToolsProfile 모드CPU UsageGPU RenderingMemory 탭

모범답안

네, Flutter 앱 성능 문제 진단 및 최적화를 위해 Flutter DevTools를 적극적으로 활용합니다. 특히 Profile 모드에서 CPU Usage, GPU Rendering, Memory 탭을 중점적으로 분석합니다.

만약 앱에서 스크롤 시 프레임 드롭이 발생한다면, 먼저 CPU Usage 탭에서 CPU 사용량이 급증하는 부분을 확인합니다. 특정 위젯의 build 메서드가 과도하게 호출되는지, 복잡한 계산이 이루어지는지 등을 파악할 수 있습니다.

GPU Rendering 탭에서는 렌더링 시간이 오래 걸리는 부분을 찾아냅니다. 예를 들어, 특정 위젯이 화면에 표시될 때마다 레이아웃 계산이 반복된다면, RepaintBoundary 위젯으로 해당 부분을 감싸 렌더링 범위를 제한하여 성능을 개선할 수 있습니다.

메모리 누수나 과도한 메모리 사용은 Memory 탭에서 힙 스냅샷을 찍어 분석합니다. 객체 할당 패턴을 확인하고, 불필요한 객체가 메모리에 남아있는지 확인하여 메모리 누수를 해결합니다. 예를 들어, 이미지 캐싱 전략을 변경하거나, 사용하지 않는 리소스를 명시적으로 해제하는 방식으로 메모리 사용량을 줄일 수 있습니다.

이러한 방식으로 DevTools를 활용하여 병목 지점을 찾아내고, 코드 수정 및 최적화를 통해 앱 성능을 개선합니다.

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

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

함께 보는 Flutter / Dart 면접 질문

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