안드로이드/이론관련

프래그먼트 생명주기(Fragment Lifecycle)

닉네임못짓는사람 2021. 7. 5. 16:47
반응형

이번 글에서는 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와 연결을 해제할 때 실행된다.

반응형

'안드로이드 > 이론관련' 카테고리의 다른 글

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