메모리 및 성능
메모리 누수, dispose, DevTools profiler, 위젯 재빌드, const constructors, keys
22 면접 질문·
Senior
1AnimationController에서 메모리 누수를 방지하기 위해 dispose()에서 호출해야 하는 메서드는 무엇입니까?
1
AnimationController에서 메모리 누수를 방지하기 위해 dispose()에서 호출해야 하는 메서드는 무엇입니까?
답변
AnimationController의 dispose() 메서드는 리스너와 내부 타이머를 포함하여 애니메이션 컨트롤러와 관련된 리소스를 해제합니다. 이 호출이 없으면 위젯이 소멸된 후에도 컨트롤러가 백그라운드에서 계속 실행되어 메모리 누수가 발생하며, 컨트롤러가 제거된 위젯을 업데이트하려고 할 경우 오류가 발생할 수 있습니다.
2메모리 누수를 식별할 수 있는 Flutter DevTools 도구는 무엇입니까?
2
메모리 누수를 식별할 수 있는 Flutter DevTools 도구는 무엇입니까?
답변
Flutter DevTools의 Memory Profiler는 애플리케이션의 메모리 사용량을 상세하게 보여줍니다. heap 스냅샷을 캡처하고, 메모리 내 객체를 분석하며, garbage collector가 회수하지 않는 인스턴스를 감지하고, 메모리 해제를 막는 참조를 식별할 수 있습니다.
3Flutter에서 불필요한 위젯 재빌드를 줄이려면 어떻게 해야 합니까?
3
Flutter에서 불필요한 위젯 재빌드를 줄이려면 어떻게 해야 합니까?
답변
위젯 생성자 앞에 const를 사용하면 프레임워크가 build마다 새 인스턴스를 만드는 대신 동일한 인스턴스를 재사용할 수 있습니다. Flutter가 위젯이 변경되지 않았음을 인식하므로 불필요한 재빌드를 방지합니다. const 위젯은 컴파일 시점에 생성되어 재사용을 위해 메모리에 보관됩니다.
4
StreamController로 인한 메모리 누수의 주요 원인은 무엇입니까?
5
재정렬 가능한 항목이 있는 ListView의 성능을 최적화하려면 어떤 유형의 Key를 사용해야 합니까?
+19 면접 질문
기타 Flutter 면접 주제
Dart 기초
Junior
25개 질문Dart 언어 핵심
Junior
15개 질문Flutter 기초
Junior
18개 질문위젯 생명주기
Junior
20개 질문로컬 스토리지
Junior
20개 질문애플리케이션 생명주기
Junior
20개 질문Layouts & Constraints
Mid-Level
24개 질문ListView & GridView
Mid-Level
25개 질문내비게이션 및 라우팅
Mid-Level
22개 질문기본 상태 관리
Mid-Level
22개 질문Provider 패턴
Mid-Level
18개 질문Networking & HTTP
Mid-Level
20개 질문JSON 직렬화
Mid-Level
20개 질문로컬 데이터베이스
Mid-Level
22개 질문폼과 유효성 검사
Mid-Level
20개 질문애니메이션
Mid-Level
20개 질문Firebase 통합
Mid-Level
18개 질문유닛 테스트
Mid-Level
20개 질문위젯 테스트
Mid-Level
18개 질문빌드 및 배포
Mid-Level
16개 질문패키지 관리
Mid-Level
16개 질문Streams & RxDart
Senior
24개 질문고급 State Management
Senior
26개 질문Flutter Design Patterns
Senior
24개 질문성능 최적화
Senior
26개 질문Platform Channels
Senior
20개 질문Custom Painting
Senior
22개 질문Flutter 애플리케이션 아키텍처
Senior
22개 질문