suspend 함수로 콜백 정리 → StateFlow UI 상태 → 오류 처리 위치
안드로이드 앱에서 네트워크 요청과 UI 상태를 연결하는 데 Coroutines와 Flow를 함께 썼습니다. Coroutines는 suspend 함수로 비동기 호출을 직렬처럼 읽히게 해줘서, 중첩 콜백 체인을 정리하는 데 큰 도움이 됐습니다. StateFlow로 UI 상태를 단방향으로 흘려보내면서 화면 회전이나 백그라운드 복귀 시 상태가 유지되는 흐름을 안정적으로 만들 수 있었습니다. 어려웠던 건 Flow 연산자 체인에서 오류 처리였는데, catch를 어느 위치에 두느냐에 따라 다운스트림 영향이 달라져서 초반에 헷갈렸습니다.
구조적 동시성 덕분에 화면이 사라질 때 자동으로 취소되는 것이 메모리 누수 방지에 실질적으로 도움이 됐습니다.