StateFlow와 SharedFlow
Search
🔋

StateFlow와 SharedFlow

생성일
2022/04/04 10:37
태그

StateFlow

현재 상태와 새로운 상태를 소비자에게 보낸다.
값이 업데이트 된 경우에만 반환하고, 동일한 값은 반환하지 않는다.
값을 보내려면 value 값을 주면 된다.
초기 상태를 생성자에 전달해야 한다.
뷰가 STOPPED 상태가 되어도 LiveData와 달리 구독을 중지하지 않는다.
Hot Stream이다. 수집이 지속되는 동안 메모리에 남아 있다.
새 소비자에게 마지막 데이터를 발행한다.

SharedFlow

SharedFlow는 StateFlow보다 더 다양한 설정이 가능하다.
onBufferOverFlow : 버퍼가 가득 차면 어떻게 할지 설정
SUSPEND : 잠이 들었다 깨어난다.
DROP_OLDEST : 예전 데이터를 지운다.
DROP_LASTEST : 새 데이터를 지운다.
replay : 새로운 소비자에게 기존의 데이터를 얼마나 발행할지
extraBufferCapacity : 추가 버퍼를 생상하여 발행한 데이터가 버퍼에 유지되도록 함