[Android/Basic]Fragment Life Cycle (프래그먼트 생명 주기)

2021. 7. 24. 00:46Android/Android 기초

728x90
반응형

[Android 개념]Activity Life Cycle (액티비티 생명 주기)

Fragment Life Cycle (프래그먼트 생명 주기)

  • 사용자가 앱을 탐색하고 상호 작용할 때 프래그먼트는 추가, 제거, 화면 시작 또는 종료에 따라 생명 주기의 다양한 상태로 전환함

 

프래그먼트 생명 주기 상태 및 콜백

  • 프래그먼트의 최대 상태는 FragmentManager에 의해 경정, 조각은 상태 이상으로 진행할 수 없음
  • FragmentTransaction의 일부를 사용하여 조각에 최대 생명 주기 상태 설정 가능
  • 프래그먼트의 생명 주기 상태는 상위보다 클 수 없음 (ex. 상위 프래그먼트 또는 액티비티는 하위 프래그먼트보다 먼저 시작되어야함)

 

1. CREATED

1-1. onCreate()

  • 프래그먼트를 생성할 때 호출
  • Fragment가 사용할 리소스를 초기화
    • 프래그먼트가 일시정지 혹은 중단 후 재개되었을 때 유지하고 있어야 하는 것을 여기서 초기화

1-2. onCreateView()

  • Fragment가 인터페이스를 처음으로 그릴 때 호출
  • Layout inflate와 UI를 초기화
    • inflate : 뷰를 그려주는 역할
    • container : 부모 뷰
    • 이 메서드는 프래그먼트의 레이아웃 루트이기 때문에 UI를 제공하지 않는 경우에는 null을 반환
  • 부모 액티비티의 onCreate() 호출 후 실행

1-3. onActivityCreated()

  • 부모 액티비티의 onCreate() 종료 후 실행
  • Fragment,Activity 모두 View 생성이 완료된 상태
  • 부모 액티비티의 View 변경 가능

 

2. STARTED

2-1. onStart()

  • Activity 생명주기와 동일
  • Fragment가 화면에 표시될 때 호출

 

3. RESUMED

3-1. onResume()

  • Activity 생명주기와 동일
  • Fragment가 로딩이 끝나 화면에 완전히 보였을 때 호출

 

4. PAUSED

4-1. onPause()

  • 화면이 중지되면 호출

 

5. STOPED

5-1. onStop()

  • Activity 생명주기와 동일
  • Fragment가 종료되는 과정에서 호출

 

6. DESTROYED

6-1. onDestroyView()

  • Fragment가 있던 자리에 다른 Fragment가 대체될 때 실행
  • Fragment의 View를 제거

6-2. onDestroy()

  • Activity 생명주기와 동일
  • 어플이 종료되거나, 절전모드 등으로 화면이 꺼지거나, 다른 어플을 실행하는 등 실행

6-3. onDetach()

  • 액티비티로부터 분리될 때 실행
728x90
반응형