Chrome 团队正在探索一种新的往返缓存,以便在用户离开网页时将网页缓存在内存中(保留 JavaScript 和 DOM 状态)。这绝对是一项艰巨的努力,但只要成功,就能非常快速地来回导航。
往返缓存 (bfcache) 会在用户离开某个网页时缓存整个网页(包括 JavaScript 堆),以便在用户返回时能够恢复该网页的完整状态。您可以将其视为在离开网页时暂停网页,并在返回时播放。
以下是往返缓存在桌面设备上的早期原型实际应用:
我们还预览了 Chrome(Android 版)的往返缓存:
我们估计,这项变更可以提升移动版 Chrome 浏览器在全部导航中高达 19% 的性能。如需详细了解此功能,请参阅 bfcache 说明。
此项变更存在中等的跨浏览器互操作风险。Firefox 和 Safari 在往返缓存实现方式上有着细微差别。由于与 Chrome 的多进程架构不兼容,Chrome 选择不使用 WebKit 的 bfcache 实现。
我们将在 blink-dev 上正式实施往返缓存,以供希望参与讨论的任何人使用。
感谢 Arthur Sonzogni、Alexander Timin、Kenji Baheux 和 Sami 帮助制作我们的原型视频。