AgentSkillsCN

Android Concurrency

协程、Flow 与线程处理的标准。

SKILL.md
--- frontmatter
name: Android Concurrency
description: Standards for Coroutines, Flow, and Threading
metadata:
  labels: [android, concurrency, coroutines, flow]
  triggers:
    files: ['**/*.kt']
    keywords: ['suspend', 'viewModelScope', 'lifecycleScope', 'Flow']

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