TIL #121 SharedFlow VS StateFlow

loci·2024년 12월 7일
0

TIL

목록 보기
112/114

SharedFlow VS StateFlow

SharedFlow

  • .value 없음
  • emit시 리스너에게 값 전달
  • 신규리드너 등장시 아무일도 안일어나고 emit기다림

StateFlow

  • StateFlow.value 존재
  • emit시 리스너에게 값 전달 + 자신에도 값 저장
  • 신규리스너 등장시 .value값이 전달되고 emit기다림

LiveData 와 StateFlow의 차이

  1. LiveData와 State 모두 비동기 데이터 스트림을 처리할 수 있게 설계되지 않았다 (따라서, 외부 서버 등에서 받아오는 데이터 스트림을 View까지 매끄럽게 전달하지 못함).

  2. StateFlow는 동기 코드인 State와 달리 비동기적으로 작동한다. 따라서, 병렬 처리에 더 유연하다.

  3. State는 사용할 수 없는, Flow의 중간 연산자(Intermediate operator)를 쓸 수 있다.

4. 백 프레셔 처리가 용이하다.

[Kotlin] Coroutines Flow - StateFlow

profile
편리한 개발자

0개의 댓글

관련 채용 정보