SavedState
应用基础 · androidx.savedstate
SavedState 模块1.6.0-alpha01
理解系统回收进程后的轻量恢复,而不是把 SavedState 当数据库。
最后更新 2026-08-01
它保存的是“恢复线索”
SavedState 面向系统发起的进程死亡与实例重建。适合保存输入文本、选择项、滚动位置、筛选条件或对象 ID;不适合保存图片、长列表、数据库副本和业务文件。
当前源码快照的 SavedState 版本是 1.6.0-alpha01:
implementation("androidx.savedstate:savedstate:1.6.0-alpha01")
implementation("androidx.savedstate:savedstate-compose:1.6.0-alpha01")ViewModel 中的 SavedStateHandle 属于 Lifecycle 库族,因此版本跟随 Lifecycle:
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.12.0-alpha01")三层入口
- SavedStateRegistry:宿主级 provider 注册、保存与恢复。
- SavedStateHandle:ViewModel 内按 key 读写和观察。
- Compose 桥接:读取当前 Registry owner,并分清
rememberSaveable的所属模块。
恢复不等于持久化
系统可能只在合适的生命周期节点收集状态,用户强制停止、清除数据、卸载应用等场景不保证恢复。真正不能丢的数据必须写入数据库、DataStore 或文件。