코틀린 Flow와 suspend 함수 차이: 한 번 받는 작업과 계속 흘러오는 데이터를 어떻게 구분할까
코틀린 Flow와 suspend 함수 차이는 문법보다 계약에서 갈립니다. 이 글에서는 한 번 결과를 받고 끝나는 작업과 계속 흘러오는 데이터를 어떻게 구분해야 하는지, Flow의 cold 특성과 collect 시점이 왜 중요한지, API 설계에서는 어떤 기준으로 선택하면 좋은지 단계적으로 정리합니다.
코틀린 Flow와 suspend 함수 차이는 문법보다 계약에서 갈립니다. 이 글에서는 한 번 결과를 받고 끝나는 작업과 계속 흘러오는 데이터를 어떻게 구분해야 하는지, Flow의 cold 특성과 collect 시점이 왜 중요한지, API 설계에서는 어떤 기준으로 선택하면 좋은지 단계적으로 정리합니다.
Room Flow를 쓰면 자동 갱신 쿼리 흐름이 편해집니다. 이 글에서는 Room DAO가 Flow를 반환할 때 invalidation 기반 재조회가 어떻게 동작하는지, 장점과 과한 관찰 비용, lifecycle과 threading 주의점, LiveData나 one-shot query가 더 단순한 경우까지 실무 기준으로 정리합니다.
repeatOnLifecycle과 launchWhenStarted 차이를 안드로이드 Flow 수집 관점에서 정리합니다. 왜 repeatOnLifecycle이 더 안전한지, collector restart, lifecycle gap, duplicate collection, Fragment View UI 예제까지 실무적으로 설명합니다.