Flutter 생명 주기

박동규·2023년 11월 22일
0

flutter

목록 보기
2/4

Flutter에서 위젯의 생명주기는 상당히 중요한 부분이며, StatefulWidget을 사용할 때 특히 더 중요합니다. initStatebuilddispose는 StatefulWidget의 생명주기에서 주요 단계를 나타내는 메서드들입니다.

initState()

[[TikTok_Clone/Study/initState|initState]]

  • 목적initState는 위젯이 생성될 때 한 번 호출되며, 초기 상태 설정에 사용됩니다.
  • 사용 시점: 이 메서드는 위젯의 생명주기에서 맨 처음에 호출되며, 여기에서 리스너 설정, 초기 데이터 로드와 같은 작업을 수행합니다.
  • 주의할 점initState 내부에서 context를 사용할 수 없으며, 비동기 작업을 직접 시작하지 않는 것이 좋습니다.

build()

[[build]]

  • 목적build 메서드는 위젯이 화면에 그려져야 할 때마다 호출됩니다.
  • 사용 시점setState()가 호출될 때마다 build 메서드가 재실행되어 위젯의 UI를 업데이트합니다.
  • 특징: 이 메서드는 위젯의 주요 부분으로, 화면에 표시할 위젯을 반환합니다. 매우 빈번하게 호출되므로 성능에 민감한 작업은 여기서 피하는 것이 좋습니다.

dispose()

[[dispose]]

  • 목적dispose는 위젯이 영구적으로 제거될 때 호출되며, 리소스 해제에 사용됩니다.
  • 사용 시점: 위젯이 위젯 트리에서 완전히 제거될 때 호출됩니다.
  • 주의할 점dispose에서는 오픈된 스트림, 리스너, 컨트롤러 등을 닫아 리소스 누수를 방지해야 합니다.

Flutter의 위젯 생명주기

  1. 위젯 생성: 위젯이 위젯 트리에 삽입됩니다.
  2. initState() 호출: 위젯이 초기화됩니다.
  3. build() 호출: 위젯이 화면에 그려집니다.
  4. 위젯 업데이트: 상태 변경(setState())이 발생하면 build()가 다시 호출되어 UI가 업데이트됩니다.
  5. dispose() 호출: 위젯이 위젯 트리에서 제거되고, 필요한 정리 작업을 수행합니다.

이러한 생명주기 단계를 이해하는 것은 Flutter 애플리케이션의 성능과 메모리 관리에 중요합니다. 각 단계에서 올바른 작업을 수행하고, 필요 없는 리소스를 적절히 해제하는 것이 중요합니다. 위젯의 생명주기를 효율적으로 관리하면, 애플리케이션의 성능을 향상시키고 메모리 누수를 방지할 수 있습니다.

profile
내가 원하는 것을 만들자

0개의 댓글