이미지 출처 : 구글 문서
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의 모든 리소스를 해제합니다.