Back to skills
extension
Category: Development & EngineeringNo API key required

Android Concurrency

Standards for Coroutines, Flow, and Threading

personAuthor: jakexiaohubgithub

Android Concurrency Standards

Priority: P0

Implementation Guidelines

Structured Concurrency

  • Scopes: Always use viewModelScope (VM) or lifecycleScope (Activity/Fragment).
  • Dispatchers: INJECT Dispatchers (DispatcherProvider) for testability. Do not hardcode Dispatchers.IO.

Flow usage

  • Cold Streams: Use Flow for data streams.
  • Hot Streams: Use StateFlow (State) or SharedFlow (Events).
  • Collection: Use collectAsStateWithLifecycle() (Compose) or repeatOnLifecycle (Views).

Anti-Patterns

  • GlobalScope: **No GlobalScope**: Use structured scopes.
  • Async/Await: **Avoid Async**: Prefer simple suspend functions unless parallel execution is needed.

References