이번에는 LiveData에 대해 정리해보겠다
라이브 데이터는 관찰이 가능한 데이터 홀더 클래스이다.
일반적인 Observable과 다르게 생명주기를 알고있다.
즉 다른 앱 구성요소의 생명주기를 인식하며, 활성상태일때만
(STARTED 또는 RESUMED) 데이터를 업데이트한다.
UI와 데이터의 일치
라이브 데이터는 데이터가 변경될 때 Observer 객체에 알린다.
이 Observer 객체를 이용하여 UI를 업데이트 시킬 수 있다.
메모리 누수가 없다
라이브 데이터는 생명주기를 알기때문에 생명주기가 끝나면 알아서 해제한다.
Stop 상태의 액티비티와 충돌이 없다.
라이브 데이터는 비활성화 상태일때는 데이터를 업데이트 하지 않는다.
생명주기를 알아서 관리해준다.
라이브 데이터는 생명주기에 따라 알아서 관찰하여 관리해준다.
최신 데이터 유지
비활성화 상태였다가 활성될 때 데이터를 갱신한다.
예를 들어 화면 회전이 같은 활동이 생기면 이에 맞는 데이터를 갱신한다.
리소스 공유
싱글톤 패턴을 사용하는 라이브 데이터 객체를 확장하여 시스템 서비스를 래핑할 수 있으며, 시스템 서비스에 한 번 연결되면 모두 라이브 데이터를
볼 수 있다
오늘은 LiveData에 대해 정리해봤습니다.
틀린 부분이 있다면 말해주세요!
글 잘 보고 갑니다^^