[Android/Jetpack]LiveData

2023. 2. 24. 10:00Android/Jetpack

728x90
반응형

LiveData란?

  1. 식별 가능한 데이터 홀더 클래스. 스스로 수명주기를 인식함
  2. Data의 변경을 관찰할 수 있는 Data Holder 클래스
  • UI와 데이터 상태의 일치 보장
  • 메모리 누출이 없음
  • 비정상 종료가 없음
  • 수명주기를 자동으로 관리
  • 최신의 데이터 유지
  • 기기회전 등 프래그먼트나 액티비티가 재생성되어도 데이터의 변화가 없음

ViewModel과 함께해야 효과가 커짐

ViewModel 안에 있는 LiveData 객체를 DataBinding을 통해 UI에서 관찰만 할 수 있도록 만들면 액티비티나 프래그먼트에서 일일히 데이터를 갱신할 필요 없이 알아서 UI에 최신 데이터가 보이게 될 것

  • Observable과 다르게 LifeCycle을 알고있음 → 활성(active:STARTED/RESUMED)상태일 때만 데이터를 업데이트
  • Observer 객체와 함께 사용 → LiveData 변화 감지!! → LiveData는 Observer에게 변화 알림 → Observer OnChanged() 메소드 호출
728x90
반응형