Resources
1Install
npx skillscat add hoangnguyen0403/agent-skills-standard/android-state-management Install via the SkillsCat registry.
SKILL.md
Android State Management
Priority: P0
Implementation Guidelines
ViewModel Pattern
- Exposure: Expose ONE
StateFlow<UiState>via.asStateFlow(). - Scope: Use
viewModelScopefor all coroutines. - Initialization: Trigger initial load in
initorLaunchedEffect(once).
UI State (LCE)
- Type: sealed interface
UiState(Loading, Content, Error). - Immutability: Data classes inside should be
@Immutable.
Flow Lifecycle
- Collection: Use
collectAsStateWithLifecycle()in Compose. - Hot Flows: Use
SharingStarted.WhileSubscribed(5000)for shared resources.
Anti-Patterns
- LiveData:
**No LiveData**: Use StateFlow. - Mutable State:
**No Mutable Public**: Expose read-only Flow. - Context:
**No Context in VM**: Memory Leak Risk.