StateFlow vs LiveData

Bluewave·2025년 6월 19일

안드로이드

목록 보기
6/14
post-thumbnail

StateFlow vs LiveData

🔍 공통점

  • 둘 다 상태 관리용 데이터 홀더이다.
  • 값이 변경되면 이를 구독 중인 UI에 변경을 전달한다.
  • Android 앱에서 ViewModel → UI 간 데이터 전달에 사용된다.

📌 주요 차이점 비교

항목LiveDataStateFlow
플랫폼Android 전용Kotlin 기반, 플랫폼 독립적
생명주기 인식O (Lifecycle-aware)X (별도 생명주기 처리 필요)
비동기 흐름약함 (MainThread 중심)강함 (Coroutine 기반)
초기값 설정필수가 아님필수 (val state = MutableStateFlow("init"))
콜드 vs 핫 스트림콜드 스트림 (Observer 없으면 동작 X)핫 스트림 (항상 동작하며 상태 유지)
Jetpack Compose 호환성가능 (observeAsState())최적화 (collectAsState())
데이터 재전송재구독 시 최신값만 전달항상 최신 상태 유지

💡 언제 어떤 걸 써야 할까?

  • Compose + MVI → StateFlow 추천
  • XML + MVVM → LiveData 추천
profile
Developer's Logbook

0개의 댓글