渐进式编程课
Android 目录
第 20 课2026.09.29

只保存课程 ID,不把完整课程对象放入保存状态。

第 20 课:限制保存状态为轻量数据

  • 日期:2026-09-29
  • 课程序号:第 20 课
  • 知识点:SavedStateHandle 数据边界

用途或适用场景

只保存课程 ID,不把完整课程对象放入保存状态。

核心概念

本课沿用上一课的示例与命名,只增加“SavedStateHandle 数据边界”这一项;先保留既有结果,再观察新增步骤带来的变化。

最小代码或操作示例

text
savedStateHandle["lesson_id"] = 42
// 大对象改由仓库按 ID 重新加载

3~5 分钟练习

照着示例完成一次,再替换一个输入值或操作对象,确认新增步骤仍然只影响预期结果。

参考答案

能复用上一课产出完成示例,并得到与“只保存课程 ID,不把完整课程对象放入保存状态。”一致的结果;其余既有状态保持不变。

与上一课的联系

继承第 19 课“用 am kill 验证系统进程恢复”的同一数据、对象与操作路径;本课只新增SavedStateHandle 数据边界;完成后下一课可在此结果上补充边界或发布前验证。

时效校验

时效校验:2026-09-29(已打开并核对官方当前文档;适用版本:Lifecycle 2.9.0+;未见本课用法的废弃标记)。

官方参考