개발새발
플러터 생명주기 본문
위젯 구축
- createState()State 객체를 생성하는 메소드. 이 메소드는 Stateful 위젯이 처음으로 생성될 때 호출.
- initState()State 객체가 생성된 후 최초로 호출되는 메소드. 초기화 작업을 수행하기에 적합한 시점. 예를 들어, 데이터를 가져오거나 초기 상태를 설정하는 등의 작업을 여기서 수행할 수 있음.
- didChangeDependencies()의존성이 변경된 경우 호출. State 객체가 의존하는 다른 객체나 데이터가 변경되었을 때 호출되는 메소드.
재 드로잉
- build()위젯을 빌드하는 메소드. 이 메소드는 위젯을 구성하고 레이아웃을 정의하는 역할을 함. build() 메소드는 초기 빌드 이후에도 여러 번 호출될 수 있음.
- didUpdateWidget()위젯이 업데이트되었을 때 호출. 이전의 위젯과 새로운 위젯을 비교하여 변경 사항을 처리할 수 있는 메소드.
- setState()상태가 업데이트되었을 때 호출되는 메소드. 상태를 업데이트하고 다시 렌더링할 필요가 있는 경우에 사용됨.
위젯 파기
- deactivate()위젯이 트리에서 제거되기 전에 호출. 상태를 저장하거나 해제하는 등의 작업을 수행할 수 있음.
- dispose()위젯이 영구적으로 제거될 때 호출. 메모리 누수를 방지하기 위해 리소스 해제 또는 정리 작업을 수행할 수 있음.
1. 초기화와 정리
라이프사이클 메소드를 통해 애플리케이션 또는 컴포넌트(위젯)의 초기화 및 정리 작업을 수행할 수 있다.
초기화 단계에서는 필요한 데이터를 로드하거나 리소스를 할당하고, 정리 단계에서는 사용한 리소스를 해제하거나 연결을 닫을 수 있다.
2. 상태 감지와 업데이트
라이프사이클 메소드를 통해 상태의 변화를 감지하고 이에 따라 적절한 업데이트 작업을 수행할 수 있다.
이를 통해 UI를 동적으로 변경하거나 상태에 따라 다른 동작을 유연하게 수행할 수 있다.
3. 외부 리소스 관리
라이프사이클 메소드를 사용하여 외부 리소스와의 상호작용을 관리할 수 있다.
예) DB 연결, API 요청, 파일 시스템 접근, 소셜 미디어 인증, 결제 서비스 연동 등을 메소드로 처리 가능
4. 오류 처리와 예외 상황 대응
라이프사이클 메소드를 활용해 예외 상황이나 오류가 발생했을 때 적절한 조치를 취할 수 있다.
예) 오류 로깅, 경고 메시지 표시, 예외 처리 등을 라이프사이클 메소드 내에서 처리 가능.
5. 성능 최적화
라이프사이클을 이용하여 성능 최적화를 수행할 수 있습니다. 마치 가비지 컬렉션.
필요한 경우에만 리소스를 로드하거나 업데이트를 수행하는 등 불필요한 작업을 피할 수 있다.
'플러터 기초' 카테고리의 다른 글
플러터 WebSocket 3 (0) | 2024.06.04 |
---|---|
플러터 WebSocket 2 (0) | 2024.06.04 |
플러터 WebSocket 1 (0) | 2024.06.04 |
플러터에서 사용하는 Dart 기본 (0) | 2024.06.04 |
플러터 widget이란? (0) | 2024.06.04 |
Comments