Android Concurrency

Standards for Coroutines, Flow, and Threading

majiayu000 c7c74ae 2 files · 1.7 KB Updated 567 repo stars

File contents

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

  • Dispatcher Pattern

majiayu000/claude-skill-registry-data/tree/main/data/concurrency-hoangnguyen0403-agent-skills-standar commit c7c74ae583

Frequently asked questions

npx skillmds add majiayu000/android-concurrency