< 공부 링크 >
https://wikidocs.net/105785
액티비티와 프래그먼트는 모두 생명주기(Life Cycle)을 가집니다.
인스타그램으로 생각해봅시다.
인스타그램을 처음 실행할 때는 인스타그램 로고 화면이 보인 다음 피드와 스토리가 보이는 화면으로 넘어갑니다.
그 후, 친구와 DM을 하다가 전화가 오면 전화앱이 자동적으로 화면에 실행되어집니다.
전화가 끝난 후 다시 인스타그램으로 들어가게 되면 잠깐의 로딩 후 직전의 창으로 들어가게 됩니다.
간단한게 각 화면들은 각자의 생명주기 단계를 가지고 있고 그 단계는
( 시작 - 실행 - 종료 )에 따라 앱 화면들이 실행됩니다.
(구글에 있는 이미지를 참고하여 똑같이 제작하였습니다..)
액티비티 및 프래그먼트는 모두 UI, 즉 저희가 보는 화면의 전체 혹은 부분입니다.
그렇기에 여러 다른 상태를 통해 전환되는 두 가지 모두 생명주기를 가집니다.
각각의 생명주기 단계를 불러오기 위해서는 그에 맞는 적절한 메소드가 필요합니다.
Method | 설명 |
---|---|
onAttach(Activity) | 액티비티와 프래그먼트가 연결될 때 호출 |
onCreate(Bundle) | 프래그먼트 초기화할 때 호출 |
onCreateView(LayoutInflator, ViewGroup, Bundle) | 프래그먼트와 관련된 View 계층 만들어서 리턴 |
onActivityCreated(Bundle) | 프래그먼트와 연결된 액티비티가 onCreate()를 완료했을 때 호출 |
onStart() | 프래그먼트와 연결된 액티비티가 onStart()될 때 호출 |
onResume() | 프래그먼트와 연결된 액티비티가 onResume()될 때 호출 |
Method | 설명 |
---|---|
onPause() | 프래그먼트와 연결된 액티비티가 onPause()될 때 호출 |
onStop() | 프래그먼트와 연결된 액티비티가 onStop()될 때 호출 |
onDestroyView() | 프래그먼트와 관련된 View 리소스를 해체 가능하도록 호출 |
onDestroy() | 프래그먼트의 상태를 마지막으로 정리 가능하도록 호출 |
onDetach() | 프래그먼트가 액티비티와 연결을 끊기 바로 전 호출 |