차지

[Android] LiveData 본문

Android/Android

[Android] LiveData

Cha_Ji 2021. 9. 21. 03:12

LiveData

  • LiveData는 관찰자 패턴의 활용한 Data Holder로 볼 수 있습니다.
  • 간단하게 말해서 value를 set, post하는 과정을 Observe 합니다.

val liveData = MutableLiveData<String>("") val test = "" val setTest = "a" // observe liveData.observe(this, Observer{ test = it } // set value liveData.value = setTest // post value liveData.postValue(setTest)

장점

  • LifeCycle의 변화를 인식하기 때문에 필요하지 않을 때 메모리를 절약하는 방법이 될 수 있습니다. (Destroy에 자동 메모리 해제)
  • 또한 LifeCycle에 대응하지 못해 발생하는 오류도 없습니다. (사용자의 갑작스런 조작으로 인한 pause, destroy 등을 대응)

단점

  • lifeCycle에 대응하기 때문에 Test를 진행할 때 Destroy 상태에도 관찰되도록 설정해줘야 합니다.
  • java 코드를 가져다 쓰기 때문에 기본적으로 null이 허용되는 자료구조를 갖고 있고 kotlin에서는 null 예외처리가 필요합니다.

'Android > Android' 카테고리의 다른 글

[Android] ViewModel  (0) 2021.09.21
[Android] Recycler View  (0) 2021.09.21
[Android] MVC 구조  (0) 2021.09.21
[Android] Collection 함수  (0) 2021.07.24
[Android Study Jam] Unit 5: Lifecycles and logging  (0) 2021.04.13