프래그먼트 생명주기도 액티비티와 비슷하게 흘러간다.
프래그먼트 생성

옆 그림은 액티비티가 실행중일 때 프래그 먼트의 생명주기이다.
액티비티와 다소 유사하지만, 다른점만 몇가지 살펴보겠다.
onCreate() ~ onDestory()는 Activity와 동일하다.
onAttatch()
- Fragment가 Activity에 부착되었을 때 호출되는 메서드이다.
onCreateView()
- 시스템은 Fragment가 UI를 처음으로 그릴 때
onCreateView()
가 호출된다.
- Fragment에 맞는 UI를 그리려면 메서드에서 View를 반환해야한다.
onCreateView()
는 Fragment 레이아웃의 루트이다.
- Fragment가 UI를 제공하지 않는 경우 null을 반환하면 된다.
onViewCreated()
onCreateView()
에서 UI가 다 그려지면 호출되는 메서드이다.
onDestroyView()
- Fragment의 UI 요소들이 제거되는 시점에 호출된다.
- Fragment가 다른 프래그먼트로 대체될 때, Activity가 백스택에서 제거될 때 호출됨.
onDestoryView()
가 호출된 이후엔 onDestroy()
가 호출되어 Fragment가 완전히 제거된다.
onDestoryView()
가 Fragment가 완전히 종료되는 것이 아니라, UI 요소들만 제거함.
- UI 요소들의 상태를 저장하고, 다시 생성될 때 해당 상태를 복원하는 작업을 수행해야 한다.
onDetach()
- Fragment가 Activity에 완전히 분리될 때 호출된다.
- Fragment가 참조하고 있는 데이터들에 대한 참조를 모두 해제 해야한다.