android stateFlow(2)
-
[Android A..Z] Flow StateFlow vs SharedFlow 비교
개요 프로젝트에서 StateFlow와 SharedFlow를 사용하면서 차이점을 블로그에 정리합니다. StateFlow StateFlow는 상태 플로우라는 뜻입니다. 문자 그대로 현재 상태를 표현하기 적합한 flow입니다. StateFlow는 초기값이 필요합니다. 따라서 생성자에 반드시 초기값을 명시해야하며 null에 대한 위험성이 없습니다. StateFlow에 값을 전달할 때는 flow의 기본 함수인 emit()을 사용해도 되고 value 속성을 사용할 수도 있습니다. private val _stateFlow = MutableStateFlow(99) //초기값을 99로 설정 val stateFlow = _stateFlow _stateFlow.value = 1 _stateFlow.emit(1) privat..
2024.03.30 -
[A..Z] Kotlin Flow vs StateFlow hot? cold? 스트림 쉽게 알아보기
서론 LiveData가 클린 아키텍처적으로 Android 의존성을 띄기 때문에 domain layer에서 사용하기 부적합하는 등의 이유로 Flow를 대체적으로 많이 사용하고 있다. 여러모로 flow를 사용하면서 많은 레퍼런스도 참고 했지만 안드로이드에서 적용할 때 많이 아쉬운 부분이 있어서 flow 적용기를 남겨두려고한다. 이 글에서는 먼저 hot stream 과 cold stream의 차이를 알아보겠습니다. 본론 Cold Stream과 Hot Stream의 차이점은 3가지로 말할 수 있습니다. 1. 데이터가 생성되는 위치 2. 생산자가 발행한 데이터를 동시에 여러 소비자들이 수신할 수 있는지 여부 3. 스트림이 데이터를 생산하는 시점 Cold Stream(Flow) 1. 데이터가 생성되는 위치 Flow..
2023.11.29