简短答案
Roosta 记录每一次起床,并在你每次打开 App 时从这份记录重新算出连续天数和统计数据。没有任何东西是存下来的计数器,所以连续记录不可能和实际发生的事对不上——而在一个以连续记录为核心的产品里,一个错的数字就是信任的崩塌。
为什么重算这件事很重要
做连续记录最顺手的方式,是存一个数字,然后每天早上加一。这也正是连续记录悄悄出错的方式:写到一半崩溃、时区变了、时钟被调整、从备份恢复,然后这个数字就和现实对不上了。用户会察觉,而一旦看见过一个错的连续记录,他们就不再相信任何数字。
Roosta 转而保存事件(每一次起床,连同时间戳和结果),在读取时从这些事件推导出全部内容。只要推导是对的,数字每一次都是对的。
连续记录是怎么算的
每天起床,完成任务或者关掉闹钟,火苗就留着。只要你最近一次起床是今天或昨天,连续记录就还活着。整整空一天,它就归零。

