滚动缓冲是怎么工作的:为什么它只存最近几十分钟
这款应用最值得理解的一件事,是它不是在录一个越来越长的文件,而是在维护一个会自动清旧的"滚动缓冲"。理解了这一点,它的几乎所有设置项和行为怪癖都会变得顺理成章。
三个环节拆解机制
第一环:分批写入。 录制内容并不写进一个大文件,而是按"批次时长"切成一个个小片段。源码中的默认批次时长是 60 秒,也就是说应用每分钟落盘一个小片段。批次时长可以在设置里调整,允许范围从 10 秒到 1 小时。
第二环:自动覆盖。 应用只保留一个固定长度的时间窗口——即"最长保存时长",源码默认值为 15 分钟,官方宣传口径是"最近 30 分钟"(可在设置中调整)。一旦缓冲区填满,最老的批次就会被自动删除,为新批次腾出空间。这就是它整天挂在后台也不会撑爆存储的原因:占用空间的上限从一开始就是锁死的。
第三环:合并导出。 当你按下保存,应用把你设定时长内的所有批次合并成一个文件,再弹出系统的"另存为"对话框让你选择存放位置。导出的文件是完整可用的一段音视频,而不是一堆碎片。
这套机制带来的直接好处
- 存储占用可预期:占用峰值只取决于画质、码率与保存时长,与录了多久无关。
- 随开随忘:启动之后不需要管理文件、不需要定期清理,旧内容自动消失。
- 关键时刻才出手:真正有价值的片段,永远是你主动按下保存的那一下。
需要接受的取舍
被覆盖的内容找不回来——如果突发事件发生时你还没启动录制,或者启动得太晚、超出了缓冲窗口,更早的部分就不存在了。所以官方界面上那句"Alibi 会持续录制并按你的要求保存最近的内容",前半句的纪律是:让它在需要的时间段里一直开着。
与普通录音录像应用的本质区别
普通应用的模型是"开始 → 累积 → 手动停止 → 手动删",时间越长文件越大;这款应用的模型是"开始 → 循环覆盖 → 需要时截取"。前者适合"拍作品",后者适合"留证据"。证据的共性是:绝大多数时候用不上,用得上时必须已经在录。