안드로이드 개발 중인데, 데이터 스트림 처리를 위해 Kotlin Coroutine의 Flow와 Channel 중 어떤 걸 써야 할지 고민입니다.
현재는 네트워크 응답(Retrofit)을 Flow로 받아서 UI에 표시하고 있고, 사용자 액션(버튼 클릭)은 Channel로 처리하고 있습니다. 그런데 최근에 여러 데이터 소스를 합치는 combine 연산이 필요해지면서 Flow가 더 편리하다는 걸 느꼈습니다.
다만, Channel은 핫 스트림이라 메모리 관리가 까다롭다는 얘기를 들어서요. 실제 프로젝트에서 Flow와 Channel을 어떤 기준으로 구분해서 사용하시는지 경험 공유 부탁드립니다.