2009-01-22 57 views
3

我瀏覽到存在javascript內存泄漏的網頁。如果我多次刷新頁面,它最終會佔用大量的內存,並且頁面上的JavaScript會減慢速度。在這個特定的頁面上,當IE獲得高達100MB的RAM時,我注意到一個非常顯着的減速,儘管我有多GB的空閒空間。爲什麼頁面會隨着Internet Explorer中內存使用量的增加而變慢

我的問題是爲什麼泄漏的對象會導致JavaScript運行緩慢?有沒有人有任何洞察到如何在IE設計的JS解釋器,這樣發生?

回答

7

即使沒有交換,這是由於在IE中使用Javascript的垃圾收集器的「愚蠢」實現引起的。如果有更多的對象,它會使用一些更經常調用GC的啓發式方法。

有沒有辦法可以避免這種情況,除了避免像地獄一樣的內存泄漏,也避免了創建太多的Javascript對象。

問候, 馬庫斯

+0

伊恩嗨,是否有一個政策,不能添加簽名,或者你爲什麼要刪除它? – kohlerm 2010-10-08 11:14:32

0

我會想象內存泄漏可能導致一些內存碎片,這可能會降低應用程序的速度。我不確定這是如何工作的,但是有可能部分js代碼仍然在後臺運行 - 作爲孤立的進程?這可以解釋放緩 - 當頁面變得越來越忙,而你實際上並沒有看到舊版本正在運行。

雖然我可以拉我的屁股。

相關問題