1. Activity LifeCycle
onCreate()
- 필수적으로 구현해야 한다.
- 액티비티가 처음 생성되었을 때 호출된다. (딱 한 번만 호출된다.)
- XML, 멤버 변수 정의, 일부 UI 구성 등을 설정한다.
onStart()
- 활성 상태에 들어가면 호출된다.
- 액티비티가 화면에 제대로 표시되기 직전에 호출된다. (나갔다가 들어오면 또 호출된다.)
- 주로 UI를 관리하는 코드를 초기화한다.
- 빠르게 완료되고 바로 onResume()을 호출한다.
onResume()
- 액티비티가 사용자와 상호작용이 가능해질 때 호출된다.
- 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 이 상태에 머무른다.
- 생명주기 구성요소가 포그라운드에서 사용자에게 보이는 동안 실행해야 하는 모든 기능을 활성화한다.
- 방해 이벤트가 발생하면 일시중지 상태에 들어가고, 시스템이 onPause()를 호출한다.
onPause()
- 액티비티의 일부가 가려지거나 투명하게 보이는 경우 호출된다. (사용자가 화면을 떠날 때)
- 포그라운드에 있지 않을 때 실행할 필요가 없는 기능을 모두 정지할 수 있다.
- 사용자 데이터를 저장하거나, 네트워크를 호출하거나, 데이터베이스 트랜잭션을 실행하는 등의 작업을 수행하면 안 된다. 무거운 작업은 onStop()에서 실행하도록 한다.
onStop()
- 액티비티가 완전히 사용자에게 보이지 않을 때 호출된다.
- 앱이 사용자에게 보이지 않는 동안 필요하지 않은 리소스를 해제하거나 조정해야 한다.
onDestroy()
- 액티비티가 소멸되기 전에 호출된다.
1) 활동이 종료되는 경우
2) 구성 변경으로 인해 시스템이 일시적으로 활동을 소멸시키는 경우
- 해제되지 않은 모든 리소스를 해제해야 한다.
onRestart()
- 액티비티가 완전히 사라졌다가 다시 보이기 시작할 때 호출된다. (onStop() 상태에 있던 화면이 다시 접근했을 때)
2. Fragment LifeCycle
onAttach(Activity)
- 액티비티에서 프래그먼트가 호출될 때 최초 한 번 호출된다.
onCreate(Bundle)
- 프래그먼트가 생성될 때 호출된다.
onCreateView(LayoutInflater, ViewGroup, Bundle)
- 뷰를 생성할 때 호출된다.
onActivityCreated(Bundle)
- 액티비티에서 onCreate()가 호출된 프래그먼트에서 호출된다.
onStart()
- 프래그먼트가 사용자에게 보여지기 직전 호출된다.
onResume()
- 프래그먼트가 사용자와 상호작용할 수 있는 상태일 때 호출된다.
onPause()
- 화면의 일부가 가려졌을 때 호출된다.
onStop()
- 프래그먼트가 화면에서 사라졌을 때 호출된다.
onDestroyView()
- 프래그먼트의 뷰가 없어질 때 호출된다.
onDestroy()
- 프래그먼트가 제거될 때 호출된다.
onDetach()
- 프래그먼트가 액티비티와 연결이 종료될 때 호출된다.
'* > Android' 카테고리의 다른 글
[안드로이드] 디자인 패턴 정리 (MVC, MVP, MVVM) (0) | 2023.03.09 |
---|---|
[안드로이드] 가로 달력 커스텀 (SingleRowCalendar) (0) | 2023.03.08 |
[안드로이드] 앱 목록에서 아이콘 안 보일 때 (0) | 2023.02.19 |
[안드로이드] Activity, Fragment 간 데이터 주고받기 2 (0) | 2023.02.19 |
[안드로이드] Retrofit, Shared Preferences 객체 싱글톤 패턴으로 사용하기 (0) | 2023.02.19 |