https://dev-playground.tistory.com/14?category=1207507
[Android] Fragment 정리
Fragment 1. 하나의 UI 내에서 독립적으로 동작하는 화면의 부분. : 동작은 독립적으로 관리 되지만 프레그먼트 자체는 독립적일 수 없음 : Activity나 다른 프레그먼트에 종속되어 있
dev-playground.tistory.com
Fragment LifeCycle
안드로이드의 Fragment Lifecycle(프래그먼트 생명주기) 는 액티비티의 생명주기와 비슷하지만, 액티비티 안에서 동작하며 독립적인 생명주기를 가진다는 점이 특징이 있다
쉽게 말하면 프래그먼트는 액티비티의 하위 구성 요소로, 액티비티의 상태 변화에 따라 함께 변한다.
프래그먼트 생명주기 단계
1) 생성(Create)
- onAttach(): 프래그먼트가 액티비티에 붙을 때 호출됨.
- onCreate(): 프래그먼트가 처음 생성될 때 호출됨 (초기 설정 가능).
2) UI 생성 및 준비
- onCreateView(): 프래그먼트의 UI 레이아웃을 생성하는 단계.
- onViewCreated(): 뷰가 생성된 직후 호출되며 UI 초기화 작업 가능.
- onActivityCreated(): 프래그먼트가 액티비티와 완전히 연결되었을 때 호출됨.
3) 활성 상태 (Started & Resumed)
- onStart(): 프래그먼트가 사용자에게 보이기 시작.
- onResume(): 프래그먼트가 활성 상태가 되어 사용자와 상호작용할 수 있음.
4) 비활성화 (Paused & Stopped)
- onPause(): 다른 화면으로 이동하거나, 프래그먼트가 일부 가려질 때 호출됨.
- onStop(): 프래그먼트가 완전히 화면에서 사라질 때 호출됨.
5) 종료(Destroy)
- onDestroyView(): 뷰가 제거될 때 호출됨 (뷰 관련 리소스 해제).
- onDestroy(): 프래그먼트가 완전히 제거되기 전 호출됨.
- onDetach(): 프래그먼트가 액티비티에서 완전히 분리될 때 호출됨.

생명주기 흐름 예제
📌 예제 상황: 앱에서 프래그먼트를 추가하고 제거할 때 생명주기가 어떻게 동작하는지 살펴보자.
1. 프래그먼트가 추가될 때
: onAttach() → onCreate() → onCreateView() → onViewCreated() → onActivityCreated() → onStart() → onResume()
2. 프래그먼트가 백그라운드로 갈 때 (예: 다른 화면으로 이동)
: onPause() → onStop()
3. 프래그먼트가 제거될 때
: onDestroyView() → onDestroy() → onDetach()
추가 팁
✅ Fragment는 동적으로 추가/제거 가능
→ FragmentTransaction을 사용해서 add(), replace(), remove()로 관리 가능
✅ 뷰가 사라질 때만 제거하고 싶다면 onDestroyView()를 활용
→ ViewPager나 Navigation Component에서 프래그먼트를 재사용할 때 유용
✅ 액티비티의 생명주기에 따라 프래그먼트도 영향을 받음
→ 액티비티가 onDestroy() 되면, 프래그먼트도 같이 제거됨
'개발 > Android' 카테고리의 다른 글
| [Android] View LifeCycle 정리 (0) | 2025.03.04 |
|---|---|
| [Android] Service LifeCycle 쉽게! (0) | 2025.03.04 |
| [Android] Activity 생명주기 쉽게 이해하자 (0) | 2025.02.28 |
| [Android] 안드로이드 4대 컴포넌트(Component) (0) | 2025.02.28 |
| [Android] setSystemUiVisibility 정리 (0) | 2025.02.20 |