프래그먼트 생명주기(Fragment Lifecycle)
이번 글에서는 Fragment Lifecycle에 대해서 알아보도록 하자.
Fragment는 간단하게 Activity+View와 같은 개념이라고 볼 수 있는데, 관련 내용은 아래의 글에 있다.
https://angangmoddi.tistory.com/244
액티비티(Activity)와 프래그먼트(Fragment)
이번 글에서는 Activity와 Fragment에 대해서 알아보자. Activity Activity는 Android의 4대 Component중 하나로 사용자에게 실제로 보이며, 사용자와 상호작용하는 화면을 말한다. Activity는 하나 이상의 View또..
angangmoddi.tistory.com
이 Fragment에는 Activity처럼 Lifecycle이 있는데, 일단 그림으로 확인해보도록 하자.
Fragment Lifecycle도 Activity처럼 전체적으로 Start -> End로 가는 흐름을 가지고 있다.
이때 각 흐름, 즉 Fragment의 상태에 따라 Callback함수들이 실행되는데,
어떤 함수들이 있고 각각 어느 시점에서 실행되는지 하나하나 살펴보도록 하자.
1. onAttach()
-Activity에서 Fragment가 호출될 때(연결될 때) 최초로 한 번 실행된다.
Fragment는 Activity에 종속적이기 때문에 Activity와 연결하는 작업이 필수적이라고 볼 수 있다.
2. onCreate()
-Fragment가 생성될 때 실행된다.
3. onCreateView()
-Fragment에 배치된 View들을 생성할 때 실행된다.
4. onActivityCreated()
-Activity에서 onCreate()호출이 끝나고 난 뒤 실행된다.
5. onStart()
-Fragment가 사용자에게 보이기 직전에 실행된다.
6. onResume()
-Fragment가 사용자에게 보이는 단계, 즉 Focus를 가진 상태에 실행된다.
이때부턴 사용자와 상호작용이 가능한 상태이다.
7. onPause()
-Fragment의 일부가 가려지게 되면 실행된다.
해당 Fragment가 최상위가 아닌 상태, 즉 Focus를 잃은 상태이다.
8. onStop()
-Fragment가 완전히 가려지게되면 실행된다.
9. onDestroyView()
-Fragment의 View들을 제거할 때 실행된다.
10. onDestroy()
-Fragment를 제거하기 직전에 실행된다.
11. onDetach()
-Fragment를 Destroy하고, Activity와 연결을 해제할 때 실행된다.