fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:5513回复:7

[Nightly] Firefox 33.0a 已启用新的浏览会话恢复方式

楼主#
更多 发布于:2014-06-30 19:36
Session Restore(浏览会话恢复)是 Firefox 的一项重要的功能,它保证了你在因为各种原因关闭了 Firefox,下一次启动的时候仍能恢复关闭前所打开的标签页,延续了你的使用流程,节省了重复打开网页的时间。以往的会话恢复使用的是 sessionstore.js 一个文件,它的功能存在以下明显缺点
1、如果电脑断电关闭、操作系统崩溃,这时候会导致会话丢失,无法恢复。
2、有时候扩展要求重启浏览器,或者 Firefox 更新版本后导致会话丢失。
3、甚至有时候关闭浏览器,以后再打开,也导致丢失。
这些问题都源于单一的 sessionstore.js 损坏或写入失败。

Firefox 33.0a 已经使用了新的会话恢复功能,目的是减少上述情况发生导致的潜在的会话数据丢失问题。



大家看一下配置文件夹的 sessionstore-backups 文件夹就会看到截图里面那样的几个文件。

新的备份会话方式流程
1、在浏览网页的行为发生变化的时候,会将当前会话写入 recovery.js,同时生成一份 recovery.bak,这相当于第一次生成备份。
2、间隔15秒后,会再写入到 recovery.js,recovery.js 和 recovery.bak 文件里面的状态保持15秒的时间间隔。这样保证系统随时能获取到你最新的会话。
3、Firefox 关闭时,会将当前会话写入 sessionstore.js,下次启动时,将此次会话写入到 previous.js。这样保证如果浏览器崩溃了,你仍可以恢复到最近的 previous.js 里面的会话。
4、Firefox 每次更新版本以后,都将 sessionstore.js 复制一份并更名为 upgrade.js-xxx(xxx 是你的构建版本 id,见上图)。这尤其适合每天更新版本的 Nightly。

恢复过程
1、如果浏览器之前是正常关闭,那么就恢复 sessionstore.js 里面的内容。
2、如果浏览器崩溃或异常,那么就恢复 recovery.js 里面的内容,因为 recovery.js 内容在时间上最接近。
3、如果仍不行,那么就恢复 recovery.bak 里面的内容,因为这个文件内容仅差 recovery.js 的15秒。
4、再不行,那么就恢复 previous.js 里面的内容,那是再上一次正常关闭时候保留的会话。
5、最坏的情况,上面的所有文件都损坏,那么只好恢复上次更新版本时候备份的 upgrade.js 会话。

那么和以前的备份恢复会话的方式有什么区别呢?
传统的方式只备份在sessionstore.js,最多有一个不靠谱的 sessionstore.bak,如果文件损坏,那么对不起,你没得恢复,新的方式增加了很多文件,提高了恢复的成功率。另外也多了选择,就是近期备份(sessionstore.js,recovery.js 和 recovery.bak)和远期备份(previous.js 和 upgrade.js),你也可以选择恢复哪种备份。


如果觉得15秒过于频繁,可以参考3楼的参数,增大写入间隔。


Bug 883609 - [Session Restore] Make backups useful
介绍文章:Mozilla launches improved Session Restore in Firefox 33
了解一下会话恢复功能
Firefox More than meets your experience
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
1楼#
发布于:2014-06-30 20:06
http://www.ghacks.net/2014/06/27/mozilla-launches-improved-session-restore-firefox-33/#comment-2250736
jimbo June 27, 2014 at 1:11 pm #

You have to wonder at the complexity of what looks like a simple task. You'd think Ff would simply keep a trail of opened tabs (History?!). Instead they seem to fire a steady stream of access to places.sqlite.
Recently i realised that the cpu was constantly working away while idle at 2-5% and traced it to a horrendous amount of disk activity. Changing the Browser.sessionstore.interval to 120000 (2min) seemed to calm things significantly. Everything has a price.
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
2楼#
发布于:2014-06-30 21:06
嗯  之前也看到了
jiayiming
火狐狸
火狐狸
  • UID35865
  • 注册日期2011-04-04
  • 最后登录2023-10-19
  • 发帖数175
  • 经验182枚
  • 威望0点
  • 贡献值30点
  • 好评度5点
  • 社区居民
  • 忠实会员
3楼#
发布于:2014-06-30 22:51
能不能恢复不重要  重要的是要降低读写量。。。。。。。
看了这个后果断加一条。。
user_pref("browser.sessionstore.interval", 60000);
98118
禁止发言
禁止发言
  • UID75
  • 注册日期2004-11-23
  • 最后登录2018-05-22
  • 发帖数1271
  • 经验-126枚
  • 威望0点
  • 贡献值-352点
  • 好评度-213点
  • 社区居民
  • 忠实会员
4楼#
发布于:2014-07-01 09:28
用户被禁言,该主题自动屏蔽!
showpp
禁止发言
禁止发言
  • UID46114
  • 注册日期2014-05-25
  • 最后登录2014-09-14
  • 发帖数16
  • 经验16枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
5楼#
发布于:2014-07-01 11:44
用户被禁言,该主题自动屏蔽!
KanKanFirst
小狐狸
小狐狸
  • UID42551
  • 注册日期2013-11-30
  • 最后登录2020-07-08
  • 发帖数41
  • 经验53枚
  • 威望0点
  • 贡献值40点
  • 好评度1点
  • 社区居民
  • 忠实会员
6楼#
发布于:2014-10-27 23:17
想请问一下在最新的33版中要如何才能完全禁用自动备份呢
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
7楼#
发布于:2014-10-28 11:54
KanKanFirst:想请问一下在最新的33版中要如何才能完全禁用自动备份呢回到原帖
没办法完全禁用,禁用也不合理
Firefox More than meets your experience
游客

返回顶部