Jetpack Compose State: Keep the Source of Truth Clear
A screen shows stale values because local state and a view model disagree. This guide gives you a small, testable way to approach the issue before changing a live system.
A practical workflow
- Identify the owner of each value and hoist state to the level that needs to coordinate it.
- Pass state down and events up, then test rotation and navigation restoration.
What to check
Do not put every transient UI detail in a global store; scope state to the feature's lifetime. Compare the result with the original problem and record what changed. If a measurement or test does not support the change, revisit the assumption rather than adding more complexity.
Keep the experiment small enough to reverse. Document the starting state, the change and the result so another person can repeat the process. Product menus and versions can change, so check the current documentation for your environment.
Official reference: Read the documentation.