이번 글에서는 Fragment Lifecycle에 대해서 알아보도록 하자.
Fragment는 간단하게 Activity+View와 같은 개념이라고 볼 수 있는데, 관련 내용은 아래의 글에 있다.
https://angangmoddi.tistory.com/244
이 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와 연결을 해제할 때 실행된다.
'안드로이드 > 이론관련' 카테고리의 다른 글
View.GONE과 View.INVISIBLE의 차이 (0) | 2021.12.08 |
---|---|
SharedPreferences (안드로이드) (0) | 2021.10.25 |
LayoutInflater(안드로이드) (0) | 2021.10.25 |
Annotation(어노테이션)? (0) | 2021.08.18 |
핸들러(Handler) (0) | 2021.07.07 |