Fragment의 생명주기

pnlkc·2023년 3월 4일
0
post-thumbnail

이미지 출처 : 구글 문서

1. onCreate()

  • Fragment가 생성될 때 호출됩니다.
  • Fragment의 상태를 초기화합니다.
  • Fragment의 속성을 설정합니다.

2. onCreateView()

  • Fragment의 View를 생성하고 초기화할 때 호출됩니다.
  • 레이아웃을 인플레이트 합니다.
  • View와 Fragment의 데이터를 연결합니다.

3. onViewCreated()

  • Fragment의 View가 만들어진 후 호출됩니다.
  • UI를 조작하거나 뷰를 설정하는 작업을 수행할 때 호출됩니다
  • View에 이벤트 리스너를 추가하는 코드는 여기에 배치해야합니다.

4. onViewStateRestored()

  • Fragment의 View의 상태가 복원될 때 호출됩니다.
  • 예를 들어, 회전하는 경우 Fragment가 다시 생성될 때 View의 상태((체크박스의 체크 상태)를 유지하기 위해 호출됩니다.

5. onStart()

  • Activity의 onStart()와 유사합니다
  • Fragment가 사용자에게 표시되기 직전에 호출됩니다.
  • UI가 포그라운드에 나타납니다.

6. onResume()

  • Activity의 onResume()과 유사합니다
  • Fragment가 포그라운드에 있을 때 호출됩니다.
  • Fragment가 활성화되고, 사용자와 상호작용할 준비가 되었습니다.
  • 미리보기를 업데이트하거나 백그라운드에서 작업을 다시 시작합니다.

7. onPause()

  • Activity의 onPause()와 유사합니다
  • Fragment가 포그라운드에서 벗어날 때 호출됩니다.
  • 사용자와의 상호작용을 중단합니다.
  • 이 수명 주기에서는 시스템 자원 사용을 최소화해야 합니다.

8. onStop()

  • Activity의 onStop()과 유사합니다
  • Fragment가 사용자에게 더 이상 표시되지 않을 때 호출됩니다.
  • Fragment의 상태를 저장합니다.
  • 사용자와의 연결을 끊고, 애니메이션과 다른 화면 전환을 완료합니다.
  • API 28 전에는 onSaveInstanceState() 보다 나중에 호출되었지만, API 28 이상부터는 onStop()이 먼저 호출됩니다.

9. onSaveInstanceState()

  • Fragment가 일시 중지되거나, 화면 회전 등과 같이 상태가 변경될 때 호출됩니다.
  • Fragment의 상태를 저장합니다.
  • Bundle 객체에 Fragment의 데이터를 저장합니다.
  • Fragment의 상태가 변경되기 전에 호출됩니다. 이 메소드에서 저장한 상태는 onCreate()와 onCreateView() 메소드에서 복원할 수 있습니다.
  • View의 상태는(체크박스가 체크되었는지 아닌지 등) onViewStateRestored()에서 복원할 수 있습니다.

10. onDestroyView()

  • Fragment의 View를 제거할 때 호출됩니다.
  • Fragment에서 사용한 View 리소스를 해제합니다.
  • View에서 이벤트 리스너를 제거합니다.

11. onDestroy()

  • Fragment가 제거될 때 호출됩니다.
  • Fragment의 모든 리소스를 해제합니다.

profile
안드로이드 개발 공부 블로그

0개의 댓글