프레그먼트 생명주기

백현균·2022년 9월 27일
0
  1. onAttach
    • 프레그먼트가 생성 후 액티비티에 붙여질 때 호출
    • 즉, 프레그먼트가 완벽하게 생성이 된것이 아니라, 액티비티에 프레그먼트를 붙이는 상태를 의미
  2. onCreate
    • 프레그먼트를 생성하는 함수이며, 액티비티에서 넘겨준 값이 있을 경우 생성할 때 변수에 넣음.
    • 인자로 context가 넘어오기 때문에 부모 Activity에 접근 가능
    • 액티비티와 마찬가지로 프레그먼트와 사용자간 상호작용에 필요한 리소스 자원을 초기화
    • 그러나, 액티비티와는 다르게 UI관련 리소스 자원을 생성할 수 없음, 액티비티는 onCreate에서 레이아웃을 inflate하나, 프레그먼트는 그러지 않기 때문.
  3. onCreateView
    • 프레그먼트의 UI 레이아웃을 inflate하는 함수
    • 레이아웃의 뷰(root)를 반환해야 레이앗이 보여짐, 프레그먼트의 레이아웃 메소드이기 때문에, UI가 없을경우 null을 반환해야됨
    • onViewCreated(): 해당 함수는 onCreateView()에서 반환된 view를 인자로 받아 레이아웃ID를 통해 UI컨트롤에 대한 초기화 가능
  4. onActivityCreated
    • 프레그먼트의 onCreateView를 마치고나서 액티비티에서 onCreate호출이 완료되고 나서 호출되는 함수
    • 프레그먼트와 액티비티의 뷰가 모두 생성이 완료되 상태를 의미하며, View변경이 가능한 상태
  5. onStart
    • 사용자에게 프레그먼트를 포어그라운드에 표시해주는 함수
    • 액티비티와 마찬가지로 사용자와 프레그먼트간 상호작용을 위한 준비 단계
  6. onResume
    • 액티비티와 마찬가지로 사용자와 프레그먼트간 상호작용이 가능한 상태를 의미
  7. onPause
    • 액티비티와 마찬가지로 시용자와 프레그먼트간 상호작용을 할 수 없는 상태
    • 사용자가 프레그먼트를 떠났을 경우(태스크목록, 프레그먼트 백그라운드)에 호출이되며 프레그먼트는 일시정지 상태를 의미
    • 일시정지인상태에서 사용자의선택에 따라 중지되거나 재시작될 수있음
  8. onStop
    • onPasuse 상태에서 프레그먼트가 완전히 중지될 경우 호출되는 함수
    • 즉, 앱의 화면 이동에 따른 다른 액티비가 새롭게 시작되어 포어그라운드에 표시되는경우, 다른앱을 실행했을 경우에 해당 액티비티를 중지를 의미
  9. onDestoryView
    • 프레그먼트 삭제를 위한 준비단계를 의미
    • 즉, 현재 프레그먼트 뷰에 할당된 View리소스 정보들을 해제, 해당 시점에서 정보 해제를 해야 가비지 컬렉터가 뷰에 대한 처리 가능
  10. onDestory
    • 프레그먼트를 삭제하는 단계를 의미
    • 프레그먼트매니저를 이용하여 popstack함수를 호출하여 프레그먼트를 삭제
  11. onDetach
    • 액티비티에서 프레그먼트를 떼어내는 단계를 의미

0개의 댓글