Android/공식문서
LifecycleObserver는 왜 쓰는 걸까?
끄공
2024. 9. 8. 17:28
다른 분의 코드를 보다가 LifecycleObserver라는 것을 새로 알게 되었다.
생명주기 관련하여 특정 동작을 처리하고 싶을 때 사용하는 것인데 "Activity나 Fragment에서 onDestroy() 등 필요한 시점을 override해서 쓰면 되는 거 아닌가? 왜 이렇게까지 하지?"라는 의문이 들었다.
개인적으로는 생명주기 관련 처리들을 따로 관리함으로써 아래와 같은 장점이 있을 것 같다고 느꼈다.
- 관리 수월
- 가독성 개선
그리고 공식 문서를 찾아보니 내 생각과 비슷한 내용이 있었다.
수명 주기의 현재 상태에 따라 UI와 다른 구성요소를 관리하는 호출이 너무 많이 발생하게 됩니다. 여러 구성요소를 관리하면 onStart() 및 onStop()과 같은 수명 주기 메서드에 상당한 양의 코드를 배치하게 되어 유지하기 어려워집니다.
생명주기들이 항상 호출이 보장되는 건 아니라는 내용도 있는데 공식 문서를 더 읽어보고 추후 추가하도록 하겠다.