Firefox 3的記憶體管理

Firefox 3是我第一次作為一個網路使用者期待的瀏覽器,其中很大的因素是它在效能和記憶體管理上有很大的改善,在我之前翻譯的Firefox 3 終極特色:效能這篇文章就有提到相關資訊,而Pavlov今天則發表了一篇Firefox 3 Memory Usage,專門介紹Firefox 3中記憶體管理相關的改進,以下簡要說一下文章內容。

減少破碎記憶體

除了減少產生破碎的記憶體空位,現在的版本記憶體用量只有之前的2/3。

Fixed cycles with the Cycle collector

Cycle我不知道該怎樣翻,不過它指的是兩個物件互有對方的指標(或參考)這種情形,要人工正確的判斷何時該刪除這些cycle並不容易,現在工作團隊建立了一個cycle collector可以自動收集並管理cycle的記憶體狀況,並在需要時自動刪除他們。

暫存機制的調整

現在程式會判斷使用者的使用狀況來管理暫存的網頁和圖片,以網頁本身來說,上一頁的內容通常都會放在暫存記憶體內,不過要是超過30分沒有動到,這些內容就會清除掉。而圖片則不再暫存未壓縮的圖檔,本來的話,圖片會以未壓縮的形式放進記憶體內暫存,未壓縮的圖片大小有多大相信大家都知道。

找出記憶體遺漏(Memory leak)

現在才發現Memory leak好像沒個比較通用的譯名。工作團隊已經修正了400多個關於記憶體遺漏的錯誤回報了,這要多虧了新發展的偵測工具。

測試結果

Pavlov設計了一套測試流程,最後顯示記憶體用量比Firefox 2和IE 7都要低上許多。