IT资讯 微软改进 Chromium 标签页恢复功能

enoch · 2020-10-16 17:00:06 · 热度: 18

微软正在为 Chromium 改进标签页恢复功能,以提升 Edge 和 Chrome 的可靠性。

当 Chrome/Edge 遭遇意外关闭或崩溃时,再次启动后会提供恢复标签页及其会话的功能。此功能基本可以保证在不丢失数据的情况下恢复标签页,但问题在于恢复过程并不总是可靠。

微软意识到了可靠性的问题,在9月份向 Chromium 提交的一个 commit 提出希望改进标签页留存功能 (tab retention) 的架构,从而改进标签页恢复。此变更允许为每个会话类型存储数量不同的文件,有助于在恢复标签页时提升标签页数据的寿命和可用性。

微软改进 Chromium 标签页恢复功能

微软将改进的功能命名为多会话恢复 (Multi Session Restore),并公开了其设计文档。

根据文档的描述,目前浏览器中的 Snapshotting Command Storage Manager 基于“当前会话 (current session)”和“最近会话 (last session)”这两个概念来运行。当浏览器启动时,新的“当前会话”被创建,而旧的“当前会话”自然就变成了“最近会话”。此时更旧的“最近会话”会从磁盘上被删除,数据也会丢失。从用户体验角度来看,这也许是合理的方案,不过如果会话被意外关闭,用户只能依赖“最近会话”获取数据。

微软建议的改变是将 “current session” & “last session” 架构改为 “current session” & “stored sessions” 架构。这里的“存储会话 (stored sessions)”是一个数量可变的会话文件。存储会话使用 FIFO 队列,其中保留的会话数量由会话和标签恢复服务决定。用户操作基本保持不变,但功能有以下显著变化:

  • 当浏览器启动时,旧的“当前会话”会被移动至“存储会话”。此时存储会话中的部分文件会被删除,以确保保留正确数量的文件。这些被删除的文件通常被认为已过期,因为它们是最早进来的会话文件。常规行为应该是每次只删除一个文件,因为最新进入的旧“当前会话”会使存储中最早的会话文件过期
  • 保留文件的数量由存储会话的读命令数量决定,而标签页恢复服务决定了内存中应该保留的命令数量

新架构的简化视图(仅显示相关组件):

微软改进 Chromium 标签页恢复功能

此功能将会在 Mac, Windows, Linux 和 Chrome OS 上提供,详情点此查看

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册