생명주기 인식 컴포넌트는 액티비티 또는 프래그먼트 같은 다른 컴포넌트의 생명주기 상태가 변경될 때 이에 대응하는 라이브러리입니다. 이러한 컴포넌트를 사용하면 더욱 체계적으로 구성하고, 가벼운 코드를 유지 보수할 수 있습니다.
Lifecycle 클래스
는 액티비티 또는 프래그먼트 같은 컴포넌트의 lifecycle state 에 대한 정보를 가지고 다른 객체가 이를 관찰할 수 있도록 돕는 클래스입니다.
Lifecycle 은 이벤트(event)
와 상태(state)
라는 두 가지 주요사항을 통해 연관된 컴포넌트들의 lifecycle state를 추적합니다.
상태(state)
는 그래프의 노드이고, 이벤트(event)
는 두 개의 노드 사이를 이동하는 사건이라고 생각하면 됩니다.
lifecycleOwner
는 lifecycle 의 소유권을 추상화하는 인터페이스로 lifecycle 을 반환하는 getLifecycle()
메서드 하나만을 갖습니다.
lifecycleOwner 의 생명주기를 관찰하려면 lifecycleObserver 를 구현해야 합니다. lifecycleOwner가 생명 주기 정보를 제공하고 등록된 lifecycleObserver 는 생명 주기의 변화를 관찰합니다.