반응형
onAttach()
- 프래그먼트가 액티비티에 붙을 때 호출
- 인자로 Context가 주어진다.
oncreate()
- 프래그먼트가 액티비티의 호출을 받아 생성
- Bunddle로 액티비티로부터 데이터가 넘어옴
- UI 초기화는 불가능
onCreateView()
- 레이아웃 inflate 담당
- savedInstanceState로 이전 상태에 대한 데이터 제공
- View와 관련된 객체를 초기화할 수 있음
onViewCreated()
- onCreagteView()를 통해 반환된 View 객체는 onViewCreated()의 파라미터로 전달된다.
- 이때 Lifecycle이 INITIALIZED 상태로 업데이트가 됨
- 때문에 View의 초기값 설정, LiveData 옵저빙, RecyclerView, ViewPager2에 사용될 Adapter 세팅은 이 메서드에서 해주는 것이 적절함
onViewStateRestored()
- 저장해 둔 모든 state 값이 Fragment의 View의 계층 구조에 복원되었을 때 호출 ex) 체크박스 위젯이 현재 체크되어 있는가
- View lifecycle owner : INITIALIZED → CREATED 변경
onStart()
- 사용자에게 보여질 수 있을 때 호출
- Activity의 onStart() 시점과 유사
- Fragment의 childFragmentManager을 통해 FragmentTransaction을 안전하게 수행할 수 있음
- View lifecycle owner : CREATED → STARTED 변경
onResume()
- 사용자와 프래그먼트가 상호작용 할 수 있는 상태일 때 호출
- Fragment가 보이는 상태에서 모든 Animator와 Transition 효과가 종료되고, 프래그먼트와 사용자가 상호작용 할 수 있을 때 onResume Callback
onPause()
- Fragment가 visible 일 때 onPause()가 호출
- 이때 Faragment와 View의 Lifecycle이 PAUSED가 아닌 STARTED가 됨
onStop()
- Fragment가 더 이상 화면에 보이지 않게 되면 onStop() 콜백 호출
- 부모 액티비티, 프래그먼트가 중단될 때, 상태가 저장될 때 호출
- View와 Lifecycle : STARTED → CREATED
- API 28 버전을 기점으로 onSaveInstanceState() 함수와 onStop() 함수 호출 순서가 달라짐, 따라서 onStop()이 FragmentTransaction을 안전하게 수행하는 마지막 지점이 됨
onDestoryView()
- 모든 exit animation, transaction이 완료되고 Fragment가 화면으로부터 벗어났을 경우 호출
- view와 lifecycle : CREATED → DESTROYED
- 가비지 컬렉터에 의해 수거될 수 있도록 Fragment View에 대한 모든 참조가 제거되어야 함
- getViewLifecycleOwnerLiveData()
onDestroy()
- Fragment가 제거되거나, FragmentManager가 destroy 됐을 경우, onDestroy() 콜백 함수가 호출
- Fragment Lifecycle의 끝을 알림
onDetach()
- 프래그먼트가 액티비티로부터 해제될 때 호출된다.
728x90
반응형
'안드로이드 앱 개발 공부 > 안드로이드 기본(노션 이동)' 카테고리의 다른 글
Thread 와 Handler (0) | 2023.03.04 |
---|---|
[Android] PendingIntent (0) | 2023.03.04 |
[Android] Intent : 인텐트 (0) | 2023.03.03 |
[Android] Activity LifeCycle : 액티비티 생명주기 (0) | 2023.03.03 |
[Android] 안드로이드 4대 컴포넌트 (0) | 2023.03.03 |
댓글