阅读进度自动保存 —— 关闭应用后也不会丢位置
保存了什么
Novella 的阅读进度记录不只是「当前看到第几页」,它包含一组完整的状态数据:
- 书籍 ID + 来源书源 —— 精确定位到是哪本书、用哪个源读的。
- 章节索引 —— 这本书的第几章。
- 章节内位置 —— 在这章里看到的百分比(或滚动模式下的像素偏移)。
- 最后阅读时间 —— 时间戳,用于在书架上排序「最近阅读」。
- 阅读时长累计 —— 这本书总共读了多久。
这组数据每次打开应用进入阅读界面、每次翻页、每次退出阅读时都会被更新。
保存时机
Novella 的进度保存非常勤快:
- 实时保存 —— 每翻一页或每滚动一段,都会把当前位置写入本地数据库。
- 章节切换时 —— 从一章跳到下一章时,上一章的进度立即落盘。
- 应用退到后台 —— 按 Home 键或切到别的应用时,立即保存一次。
- 应用被系统杀掉 —— 如果系统因内存不足强制关闭了 Novella,下次打开时会从上次成功落盘的位置继续——通常不会超过一两页的误差。
本地和云端的双重保存
进度数据有两个备份位置:
- 本地 SQLite 数据库 —— 主要备份,应用启动时优先从这里读取。
- GitHub Gist —— 可选的云端备份,如果你开了同步功能,进度会按设定频率推送到 Gist。多设备同步就是靠这个实现的。
本地优先、云端次之——即使不开 GitHub 同步,本地的进度保存也是完整的。
清理数据不丢进度
以下操作不会丢失你的阅读进度:
- 覆盖安装新版 Novella。
- 清除应用缓存(设置 → 应用 → Novella → 清除缓存)—— 只是清掉临时文件。
- 切换书源(同一本书换不同源读)。
以下操作会清除进度:
- 卸载 Novella 应用。
- 清除应用数据(设置 → 应用 → Novella → 清除数据)。
- 手动删除 Novella 的应用数据目录。
进度条的显示
在阅读界面呼出工具栏后,底栏会显示一个细进度条。它包含两层信息:
- 外层进度条 = 当前章节的内部进度。
- 小标签显示「章节名 · 百分比」和「全书进度(章节 N/总数 M)」。
也可以设置进度条显示为章节数量式(第 5 章 / 共 120 章)而非百分比,方便知道整本书读了多少。