05.15 일지
🎯 Fragment LifeCycle 공부 1
: 다른 Fragment로 변경되는 상황에서 기존 Fragment View가 유지돼서 돌아왔을 때 View가 겹쳐서 보이는 문제핸들링을 위해서
참고: https://developer.android.com/guide/fragments/lifecycle
LifeCycle 상태
- INITIALIZED
- CREATED
- STARTED
- RESUMED
- DESTORYED
LifeCycleOwner의 callback 함수들
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroy()
INITIALIZED 상태
: Fragment가 초기화된 상태
⇒ FragmenManager가 해당 Fragment의 생애주기를 관리한다
FragmentManger
: Fragment의 LifeCycle 상태, 상황을 확인하고 그 상황으로 이동한다
⇒ onAttach()
, onDetach()
↑ FragmentManager가 하는 일 중 일부
onAttach() 콜백함수
: Fragment가 FragmentManager에 추가될 때 = host Activity에 attach될 때
- FragmentManager의
findFragmentById()
가 해당 fragment를 반환한다 = fragment가 active해진다 - LifeCycle State의 변화 이전에 항상 실행된다
onDetach() 콜백함수
: Fragment가 FragmentManager에서 삭제될 때 = host Activity에서 detach될 때
- FragmentManager의
findFragmentById()
가 해당 fragment를 반환하지못한다 = fragment가 deactive해진다 - LifeCycle State 변화 이후에 항상 실행된다.
정리
Fragment가 Attach될 때 핸들링(onAttach()
) ⇒ 상태변화시 핸들링(LifeCycleOwner
메소드들) ⇒ Fragment가 Detach될 때 핸들링(onDetach()
)
LifeCycleOwner의 메소드들
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroy()