[Android] Fragment LifeCycle

neoneoneo·2024년 3월 28일
0

android

목록 보기
6/16

Fragment??

프래그먼트는 앱 UI의 재사용을 위한 개념이다.

크기가 다른 기기에서, 또는 하나의 기기 안에서 화면의 크기가 달라질 때 이 프래그먼트를 사용하여 UI를 재사용할 수 있게 된다.

Fragment LifeCycle

프래그먼트도 액티비티와 비슷하게 수명 주기라는 것이 있다.

프래그먼트 수명 주기와 함께 View의 수명 주기도 함께 알아둔다.

상태

상태 전환에는 프래그먼트가 Back Stack에 살아 있는 상향과 Back Stack에서 사라진 하향 상태 전환이 있다.

CREATED 상태

  • 프래그먼트가 FragmentManager에 추가되고 onAttach() 메서드가 호출된 상태이다.
  • 아직 뷰가 생성되지는 않은 상태이다.

onCreate()

  • 프래그먼트가 생성될 때 호출된다.
  • 프래그먼트의 초기 설정을 처리한다.

onCreateView()

  • View를 그리기 위해 호출된다.
  • View 수명 주기에서 INITIALIZED 상태로 진입한다.
  • 프래그먼트의 UI를 구성하고 반환해야 하는 곳이다.

onViewCreated()

  • onCreateView에서 View를 받아온다.
  • 이 부분에서 View의 초기값을 설정한다.

onViewStateRestored()

  • View 각 요소의 상태값을 체크한다.
  • View 수명 주기에서 CREATED 상태로 진입한다.

onActivityCreated()

  • 액티비티의 onCreate()가 완료되고나면 호출된다.
  • 액티비티와 프래그먼트 간의 상호 작용이 가능한 시점이다.

STARTED 상태

onStart()

  • 프래그먼트가 사용자에게 표시되기 전에 호출된다.
  • View 수명 주기에서 STARTED 상태로 진입한다.

RESUMED 상태

onResume()

  • 프래그먼트가 활성 상태가 되어 사용자와 상호 작용할 수 있는 상태가 됩니다.
  • View 수명 주기에서 RESUMED 상태로 진입한다.

[하향] STARTED 상태

onPause()

  • 다른 화면 요소가 사용자에게 표시되기 전에 호출된다.
  • 이 단계에서 프래그먼트는 일시 중지되지만 완전히 종료되지는 않는다.
  • View 수명 주기에서 CREATED 상태로 진입한다.

[하향] CREATED 상태

onStop()

  • 프래그먼트가 더 이상 사용자에게 표시되지 않고 화면에서 완전히 사라지기 전에 호출된다.

onDestroyView()

  • onCreateView()에서 생성된 UI가 소멸되는 단계이다.
  • View 수명 주기에서 DESTROYED 상태로 진입한다.

onDestroy()

  • 프래그먼트가 소멸될 때 호출된다.
  • 이 메서드에서 필요한 리소스의 해제 및 정리 작업을 처리하면 된다.

[하향] DESTROYED

onDetach()

  • 프래그먼트가 액티비티에서 분리될 때 호출된다.
  • 이 시점에서 프래그먼트는 액티비티와의 연결이 끊어진다.

reference

공식 문서
준비된 개발자
Code wiht Joyce


[TIL-240328]

0개의 댓글