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

2020年10月16日

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

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

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

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

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

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

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

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

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

展开阅读全文
3 收藏
分享
加载中
精彩评论
牛bi都打不出来,红薯这破app
2020-10-16 21:34
8
举报
微软开发并开源了Linux这个操作系统内核使得可以在win10上运行WSL,真是人类之幸呀。微软,人类希望!
2020-10-17 17:03
2
举报
辣🐔microsoft!
2020-10-17 12:53
1
举报
微软开发并开源了Chromium这个跨平台浏览器,真实人类之幸呀。微软,人类希望!
2020-10-17 01:30
1
举报
因为更浪费内存
2020-10-16 21:01
1
举报
最新评论 (9)
辣🐔microsoft!
2020-10-17 12:53
1
回复
举报
微软开发并开源了Chromium这个跨平台浏览器,真实人类之幸呀。微软,人类希望!
2020-10-17 01:30
1
回复
举报
微软开发并开源了Linux这个操作系统内核使得可以在win10上运行WSL,真是人类之幸呀。微软,人类希望!
2020-10-17 17:03
2
回复
举报
牛bi都打不出来,红薯这破app
2020-10-16 21:34
8
回复
举报
因为更浪费内存
2020-10-16 21:01
1
回复
举报
您好,请问为什么谷歌没想到?
2020-10-16 20:39
0
回复
举报
赞赞👍Microsoft
2020-10-16 19:30
1
回复
举报
可以啊
2020-10-16 18:54
0
回复
举报
MS, yes
2020-10-16 18:38
0
回复
举报
更多评论
9 评论
3 收藏
分享
返回顶部
顶部