본문 바로가기
android

[kotlin] LiveData의 setValue(), postValue()

by liz_devel 2022. 2. 18.

setValue()

메인쓰레드에서 값을 변경

 

 

postValue()

백그라운드 쓰레드에서 값을 변경

메인 쓰레드에서 postValue()가 여러 번 호출될 경우 가장 최신 값이 적용됨

(postValue() 호출한 뒤 바로 getValue()를 호출할 경우 변경된 값을 읽어오지 못할 수 있음

->메인쓰레드에 값이 전달되기 전 getValue()를 호출할 수도 있기 때문)

 

즉, 메인쓰레드에서 LiveData의 값을 즉각적으로 변경해야 할 경우 

postValue()가 아닌 setValue()를 사용해야 함

 

반응형