유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

5 Anti-Patterns With Coroutines & Flows You MUST Avoid!

Philipp Lackner

2025. 5. 14.

0

#backend
#mobile app
  • 뷰 모델에서 UI 상태 업데이트 시 기본 디스패처 사용은 메인 스레드 차단을 유발할 수 있으므로 Dispatchers.Default를 사용하여 백그라운드 스레드에서 실행해야 함. 🛠️
  • ViewModelScope에서 실행되는 코루틴은 뷰 모델이 소멸될 때 취소되므로, 데이터 저장 후 화면 이동 시 데이터 동기화가 완료되지 않을 수 있음. 애플리케이션 범위의 코루틴 스코프를 사용하거나 UI에 완료 이벤트를 알리는 방식으로 해결 가능. ⏳
  • supervisorScope 내에서 launch로 코루틴을 시작하고 즉시 join을 호출하는 것은 병렬 처리를 막고 순차적 실행을 유도하는 안티 패턴임. 모든 코루틴을 시작한 후 join을 호출해야 함. 🚀
  • while (true) 루프 내에서 네트워크 요청을 반복하는 코루틴은 취소 가능해야 하지만, 예외 처리 시 루프가 중단되지 않아 메모리 누수 및 앱 불안정을 초래할 수 있음. ♻️

Recommanded Videos