Flutter

메모리 및 성능

메모리 누수, dispose, DevTools profiler, 위젯 재빌드, const constructors, keys

22 면접 질문·
Senior
1

AnimationController에서 메모리 누수를 방지하기 위해 dispose()에서 호출해야 하는 메서드는 무엇입니까?

답변

AnimationController의 dispose() 메서드는 리스너와 내부 타이머를 포함하여 애니메이션 컨트롤러와 관련된 리소스를 해제합니다. 이 호출이 없으면 위젯이 소멸된 후에도 컨트롤러가 백그라운드에서 계속 실행되어 메모리 누수가 발생하며, 컨트롤러가 제거된 위젯을 업데이트하려고 할 경우 오류가 발생할 수 있습니다.

2

메모리 누수를 식별할 수 있는 Flutter DevTools 도구는 무엇입니까?

답변

Flutter DevTools의 Memory Profiler는 애플리케이션의 메모리 사용량을 상세하게 보여줍니다. heap 스냅샷을 캡처하고, 메모리 내 객체를 분석하며, garbage collector가 회수하지 않는 인스턴스를 감지하고, 메모리 해제를 막는 참조를 식별할 수 있습니다.

3

Flutter에서 불필요한 위젯 재빌드를 줄이려면 어떻게 해야 합니까?

답변

위젯 생성자 앞에 const를 사용하면 프레임워크가 build마다 새 인스턴스를 만드는 대신 동일한 인스턴스를 재사용할 수 있습니다. Flutter가 위젯이 변경되지 않았음을 인식하므로 불필요한 재빌드를 방지합니다. const 위젯은 컴파일 시점에 생성되어 재사용을 위해 메모리에 보관됩니다.

4

StreamController로 인한 메모리 누수의 주요 원인은 무엇입니까?

5

재정렬 가능한 항목이 있는 ListView의 성능을 최적화하려면 어떤 유형의 Key를 사용해야 합니까?

+19 면접 질문

다음 면접을 위해 Flutter을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기