Activity / Fragment 의 lifecycle 상태에 자동 반응. 메모리 leak / 화면 회전 / 백그라운드 처리 사고의 90%를 막아줌.
📖 핵심 개념
Lifecycle.State: INITIALIZED → CREATED → STARTED → RESUMED → DESTROYED.
일반적으로 STARTED 이상에서만 UI 작업.
DefaultLifecycleObserver: lifecycle 메서드 override.
💻 코드 패턴
Observer 등록
classCameraController:DefaultLifecycleObserver{overridefunonStart(owner:LifecycleOwner){open()}overridefunonStop(owner:LifecycleOwner){close()}}// Fragment / Activity
classCameraFragment:Fragment(){privatevalcontroller=CameraController()overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)viewLifecycleOwner.lifecycle.addObserver(controller)// viewLifecycleOwner — view 살아있는 동안 (Fragment 인스턴스보다 짧음)
}}