探索 Chrome 的往返缓存

Addy Osmani
Addy Osmani

Chrome 团队正在探索一种新的往返缓存,以便在用户离开网页时将网页缓存在内存中(保留 JavaScript 和 DOM 状态)。这绝对是一项艰巨的努力,但只要成功,就能非常快速地来回导航

往返缓存 (bfcache) 会在用户离开某个网页时缓存整个网页(包括 JavaScript 堆),以便在用户返回时能够恢复该网页的完整状态。您可以将其视为在离开网页时暂停网页,并在返回时播放。

以下是往返缓存在桌面设备上的早期原型实际应用:

我们还预览了 Chrome(Android 版)的往返缓存:

我们估计,这项变更可以提升移动版 Chrome 浏览器在全部导航中高达 19% 的性能。如需详细了解此功能,请参阅 bfcache 说明

此项变更存在中等的跨浏览器互操作风险。FirefoxSafari 在往返缓存实现方式上有着细微差别。由于与 Chrome 的多进程架构不兼容,Chrome 选择不使用 WebKit 的 bfcache 实现。

我们将在 blink-dev 上正式实施往返缓存,以供希望参与讨论的任何人使用。

感谢 Arthur Sonzogni、Alexander Timin、Kenji Baheux 和 Sami 帮助制作我们的原型视频。