kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:11853回复:24

[讨论]清理about:config (prefs.js)

楼主#
更多 发布于:2008-08-29 02:49
在论坛混了很久了,但好像一直没有人讨论过这个问题,about:config说白了就是Firefox的注册表,装的扩展卸载掉之后,残余的键值并不会被清除。虽说下次装扩展的时候可以很方便地找回配置,但这样的工作我觉得更应该留给扩展的作者自己实现,或者用配置备份工具例如OPIE来完成。

在网上“小”搜索了一下,没有什么工具可以一蹴而就地清理垃圾键值,原因也很简单,有些键值很好认,比如说extensions.tabmix.*;但像xyzproxy.display.pac这样的,由于没有extensions前缀,不是很好判断,除非你很清楚xyzproxy是一个扩展。我想OPIE的工作原理也类似,所以我发现OPIE并不能备份所有扩展的设置(我54个扩展只有31个可以备份,小扩展就算了,连Tab Mix Plus都没有,好在Tab Mix Plus自己有)。

网上倒是有很多清理Windows注册表的工具,我猜测它们的原理应该是检查键值所指文件是否存在来判断,直到删除整个项。可惜,Firefox的about:config并没有这么复杂。

我没有什么更简单的方法,只能自己去研究prefs.js文件:如果发现已经卸载并暂时不要的扩展名,就删除所有的相关条目。从现在开始清理,我现在的prefs.js大小是63.7KB,待会看看能缩小到多少。

--Edit
清理到了52KB
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
mygames10
狐狸大王
狐狸大王
  • UID30577
  • 注册日期2009-10-04
  • 最后登录2022-02-14
  • 发帖数337
  • 经验55枚
  • 威望0点
  • 贡献值48点
  • 好评度3点
  • 社区居民
  • 忠实会员
1楼#
发布于:2008-08-29 02:49
longwayhome:7k

感觉优化这个文件意义不大
回到原帖

能有个扩展专门清理这个也是好事
Nice to meet you.
longwayhome
火狐狸
火狐狸
  • UID23916
  • 注册日期2008-04-30
  • 最后登录2015-05-08
  • 发帖数158
  • 经验19枚
  • 威望0点
  • 贡献值4点
  • 好评度1点
  • 社区居民
2楼#
发布于:2008-08-29 02:49
7k

感觉优化这个文件意义不大
我看好Nokia.2010/6/30.
mygames10
狐狸大王
狐狸大王
  • UID30577
  • 注册日期2009-10-04
  • 最后登录2022-02-14
  • 发帖数337
  • 经验55枚
  • 威望0点
  • 贡献值48点
  • 好评度3点
  • 社区居民
  • 忠实会员
3楼#
发布于:2008-08-29 02:49
俺这个文件已经不小了,因为俺的profile一直是从FF2.X时代用过来的,里面垃圾不少了,手工清理的确不好弄。
Nice to meet you.
chrome
小狐狸
小狐狸
  • UID31694
  • 注册日期2010-01-22
  • 最后登录2022-03-25
  • 发帖数61
  • 经验17枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
4楼#
发布于:2008-08-29 02:49
挖坟,现在有更便捷的方法吗?

删不干净,也不能重置为黙认选项,只能手动去找吗、
zj45499
千年狐狸
千年狐狸
  • UID29472
  • 注册日期2009-07-03
  • 最后登录2014-10-06
  • 发帖数1158
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-08-29 02:49
哈哈......比我还老的贴啊.

我的只有34K..500将近600条


shenyixin99
狐狸大王
狐狸大王
  • UID30127
  • 注册日期2009-08-19
  • 最后登录2011-11-20
  • 发帖数318
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2008-08-29 02:49
这个主题很不错,应该顶一顶。

不过学编程的人都知道有一种算法叫哈希算法,查找效率极其惊人,时间复杂度是是常数级的,而且很简单,编程人员很多都用它用来处理数据!Firefox也是用到哈希算法的,假如文件只有1条数据,如果查找时间是1ms;那么文件有1万条数据,查找时间仍然接近1ms;文件有1亿条数据,查找时间也是接近1ms;我刚找到了pref.js文件,大小为35K,只有500条数据。

所以我个人觉得不用花时间去理会它。。。呵呵,楼主不要扔我石头哟。。。。
umi
umi
火狐狸
火狐狸
  • UID23787
  • 注册日期2008-04-21
  • 最后登录2018-10-20
  • 发帖数229
  • 经验36枚
  • 威望0点
  • 贡献值32点
  • 好评度1点
7楼#
发布于:2008-08-29 02:49
我的prefs.js截止目前有335kb
還是新安裝的
因為我在用speed dail
設置了5個群組
5x4一共100個快速撥號
...
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
8楼#
发布于:2008-08-29 02:49
不带口罩
比如说speed dail不会和ubiquity冲突而fast dail会.
回到原帖


具体冲突在哪?我没看出来FD和Ub冲突啊。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
不带口罩
火狐狸
火狐狸
  • UID22190
  • 注册日期2007-12-07
  • 最后登录2016-08-15
  • 发帖数189
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
9楼#
发布于:2008-08-29 02:49
打开about:config清理过一次,但后来想想还是算了.
因为有时候有些扩展会有跟版本不兼容可是同类的扩展却兼容,卸载安装省得配置.
比如说speed dail不会和ubiquity冲突而fast dail会.
kongou
火狐狸
火狐狸
  • UID12490
  • 注册日期2006-04-26
  • 最后登录2016-12-21
  • 发帖数235
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
10楼#
发布于:2008-08-29 02:49
fang5566:爱装扩展测试然后卸载的朋友这个文件肯定体积很大!

tabmix 的键值有extension开头,而xyzproxy 没有主要是扩展作者设计的时候没有加上extension 为前缀。其实扩展开发者应该养成良好的习惯,凡是自己的扩展的首选项最好都要加上extension 前缀。

好像没有什么好方法来清理这些冗余项!我想这应该留给 FF 开发者以后加入清除扩展有关键值的选项!

而且我们在安装大量扩展然后删除一段时间后我们自己也不清楚 pref.js 里面有多少信息要删除,总不能一行一行看下去吧。而extension.rdf 文件里面还保留着我们以前安装但是现在删除过的扩展的有关注册信息(当然,前提是这个文件没有被你删除过)。可以打开这个文件查找现有扩展之外的扩展,这些就是安装过但现在删除了的扩展,然后到pref.js 已这些扩展的名字为关键字查找,然后删除键值!

简单的方法就是直接到 about:config 里面找到有关键值并重置,但我没试过重置是否就意味着直接从 pref.js 里面删除。请知道的朋友告知!
回到原帖

我一直这样干的,扩展卸掉后就查找相应的无效项,重置后那项就为空,pref.js里也没有了。
ferret
千年狐狸
千年狐狸
  • UID21816
  • 注册日期2007-11-11
  • 最后登录2013-03-22
  • 发帖数1114
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2008-08-29 02:49
重置就是把该键值弄回mozilla官方默认的状态. 所有扩展和你自己新建的键值都会在重置后消失. 我一直是用重置来清理prefs.js的 好处是不会误删掉一些有用的项. 虽然我至今没误删过....
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
12楼#
发布于:2008-08-29 02:49
有的扩展卸载之后都清干净,有的会有残余,不知道是如何控制的,呵呵
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2025-09-08
  • 发帖数18502
  • 经验4858枚
  • 威望5点
  • 贡献值4324点
  • 好评度1118点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
13楼#
发布于:2008-08-29 02:49
爱装扩展测试然后卸载的朋友这个文件肯定体积很大!

tabmix 的键值有extension开头,而xyzproxy 没有主要是扩展作者设计的时候没有加上extension 为前缀。其实扩展开发者应该养成良好的习惯,凡是自己的扩展的首选项最好都要加上extension 前缀。

好像没有什么好方法来清理这些冗余项!我想这应该留给 FF 开发者以后加入清除扩展有关键值的选项!

而且我们在安装大量扩展然后删除一段时间后我们自己也不清楚 pref.js 里面有多少信息要删除,总不能一行一行看下去吧。而extension.rdf 文件里面还保留着我们以前安装但是现在删除过的扩展的有关注册信息(当然,前提是这个文件没有被你删除过)。可以打开这个文件查找现有扩展之外的扩展,这些就是安装过但现在删除了的扩展,然后到pref.js 已这些扩展的名字为关键字查找,然后删除键值!

简单的方法就是直接到 about:config 里面找到有关键值并重置,但我没试过重置是否就意味着直接从 pref.js 里面删除。请知道的朋友告知!
Firefox More than meets your experience
yjhdeys
火狐狸
火狐狸
  • UID22704
  • 注册日期2008-01-21
  • 最后登录2010-03-12
  • 发帖数140
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2008-08-29 02:49
要作为一个好软件就的做到更极致
上一页
游客

返回顶部