智能缓存——滑动跟手、加载快的背后
为什么需要缓存
X 客户端的时间线是实时拉取的,但网络请求有延迟——尤其在移动信号不稳定或网络拥挤时,滑动到下一条要等几秒才能加载出来。缓存就是把已拉取的内容临时存在本地,下次看同一段时间线时直接读磁盘,不用重新请求。
Chuckle 的智能缓存策略
Product Hunt 上的介绍说它用了 Smart caching(智能缓存),具体行为大致是:
- 优先读缓存:滑动时间线时先显示缓存里的内容,后台静默拉取更新,拉到了再替换
- 自动过期:缓存内容有有效期,超过后下次滑动时会重新拉取最新数据
- 区分账号:多账号切换时缓存独立,不会串账号显示
- 媒体单独缓存:图片和视频的缩略图也会缓存,长时间没访问自动清理
缓存占空间吗
会的,时间线、推文内容和媒体缩略图都会占手机存储。不同使用强度下缓存大小差异较大——重度刷 X 的用户可能几百 MB,轻度用户可能几十 MB。
怎么清理
设置里有"清除缓存"按钮,点一下就能把所有本地缓存清空。清完之后第一次打开时间线会稍慢(因为全部要重新拉),之后就恢复正常了。
缓存和浏览历史的区别
浏览历史是你主动看过的推文的记录,清理浏览历史只是抹掉"我看过什么"的索引;缓存是为了提速而存的临时数据,清理缓存纯粹是为了释放空间。两者独立存在、互不影响。