JS垃圾回收
回答
這真的非常不同廣泛。例如,SpiderMonkey將根據關於已分配多少內存的各種啓發式進行GC,但瀏覽器嵌入也會在各種情況下觸發GC,例如足夠長的DOM事件處理完畢後,腳本運行足夠長時間,在關閉或加載標籤頁/窗口等的情況下執行,等等。所涉及的啓發式在不同的Firefox版本之間發生了巨大的變化,並且會再次發生變化。
而這一切只是一個瀏覽器。
這改變每個瀏覽器,據我知道,你有超過它完全沒有控制。
同樣,你有當DOM是越來越變得無法控制,也就是如果你想顯示加載條真煩:d
你爲什麼想知道?
它有所不同。 Chrome(V8)僅基於計時器和活動監視器(它在引擎忙時不會運行)。
定時器啓動時,標記和掃描是否同時執行? – Steve 2011-04-24 21:19:34
v8同時運行mark-sweep-compact和scavenge gc,並且它同時運行mark和sweep,有時令人煩惱地導致應用程序暫停。 – 2011-04-25 02:36:48
出於好奇。只是爲了更好地理解。 – Steve 2011-04-24 21:18:27