浏览器是一样的人 - 他们变老,他们会变得过于庞大,而他们得到抛弃年轻和更精简的机型。
Firefox不仅仅是一个浏览器,它是一个生态系统。尽管我觉得最近的版本非常臃肿,但核心产品通常是稳定的。
不过,Firefox是一个生态系统/平台:
1)写的不好插件
2)写的不好的JavaScript代码,在其内执行。
3)Adobe Flash作为一个重量级视频平台和写得不好的广告脚本,比如'用一只鸭子击中乌萨马本拉登以降低抵押率并获得免费iPod *(需要参与)。
4)Quicktime和其他媒体播放器。
5)一些嵌入式Java代码。
内存泄漏的描述表明运行amok的脚本或请求更多内存的第三方工具。如果你曾经在Mac上运行Flash,那么几乎是一个给定的CPU利用率的90%。
大多数编程语言的目标不是拯救你,而是给你工具来保存自己。你可以使用任何语言编写不良和臃肿的代码和内存泄漏,包括垃圾收集。第三方工具通常不如平台本身那么好地测试。试图做得太多的网页也并不少见。
如果你想做一个实验来演示这一点,可以使用Firefox获得一个mac,然后去一个写得很好的网站,比如Stack Overflow,花一个小时。你的内存使用量不应该增长太多。然后花5分钟时间访问Myspace上的随机页面。
现在让我试着回答您的问题根据我的猜测,因为我不熟悉的源代码
- 当我关闭所有标签页,为什么 不内存使用情况去所有的 的方式?
而每个浏览器实例是具有其自己的存储器中的独立过程,在一个窗口中的选项卡都在相同的处理。 Firefox曾经有过某种内存缓存,只是关闭一个标签并不能立即从内存缓存中清除相关信息。如果您重新打开一个标签到同一个网站,您可能会获得更好的性能。有一些高级选项可以让你禁用它,比如browser.cache.memory.enable。或者只是搜索禁用内存缓存。
* Why is there no limits on extensions/themes/plugins memory usage?
出于同样的原因,Windows或Linux没有应用程序的审查过程,您可以运行它们。这是一个开放的环境,你承担风险。如果你想去的地方应用和扩展“验证”的环境下,苹果可能会去:)
* Why does the memory usage increase if it's left open for long periods of time?
不是在脚本中的所有计算和行为具有视觉表现的方式。一个脚本可能会在后台做一些事情(例如请求额外的材料,预先获取的东西,只是错误),即使你没有看到它。
* Why are memory leaks so difficult to find and fix?
这是关于簿记。想想你曾经借过的每一件物品(甚至是一支钢笔),或者是你一生中借用过你的东西。他们都被占了吗?内存泄漏的方式是相同的(你从系统借用内存),除了你传递物品。然后看看桌子上的东西,你是否留下了任何东西,因为'你可能很快就需要它',尽管你可能不会这样做?相同的故事。
来源
2010-04-14 14:26:26
Uri
这个问题有点广泛。 Firefox遭受内存泄漏,最好让您阅读该主题。关闭选项卡不一定会释放为该选项卡分配的内存。 – 2010-04-14 14:33:49
和你的编程问题是? – KevinDTimm 2010-04-14 14:41:14
@KevinDTimm它是列表中的最后一颗子弹 – David 2010-04-14 15:04:14