betterprogramming.pub/no-more-livedata-in-repositories-in-kotlin-85f5a234a8fe
LiveData는 수명주기를 인식한다.(lifecycle-aware)
LiveData의 주 목적은 data의 집합을 observe하는 것이다. 이 observe는 메인 쓰레드에서만 이뤄진다.
Flow는 비동기적으로 연산들을 수행하고 필요할 때마다 여러번 값을 내보내도록 아예 설계되었다. channel과 다르게 cold stream이기 때문에 collect되어야지만 flow builder가 실행된다. lifecycler에 구속되지도 않고 LiveData보다 제어할 수 있는 기능이 더 많다.
결론 : ViewModel과 Repository 사이에서는 LiveData보다 Flow가 더 적합하다.
'빈 구멍 채우기' 카테고리의 다른 글
[Kotlin] 폴더 지우기 (0) | 2021.05.10 |
---|---|
[RxJava] io.reactivex.exceptions.OnErrorNotImplementedException (0) | 2021.04.22 |
[Kotlin Coroutine] Flow - 1 (0) | 2021.04.07 |
[Kotlin Coroutines] Job (0) | 2021.04.01 |
[Android] could not find Fragment constructor (0) | 2021.03.30 |