0
是否有任何一種斷言,我可以驗證一個特定的對象可以在Javascript中被GC?目的是進行一個聲明內存泄漏的單元測試是固定的。我該如何驗證一個特定的Javascript對象會被垃圾收集?
在這一點上,我不知道任何直接的語言支持 - 我不認爲JavaScript有弱引用或終結器,這是我可能會在Java或C#中做到這一點。
是否有任何一種斷言,我可以驗證一個特定的對象可以在Javascript中被GC?目的是進行一個聲明內存泄漏的單元測試是固定的。我該如何驗證一個特定的Javascript對象會被垃圾收集?
在這一點上,我不知道任何直接的語言支持 - 我不認爲JavaScript有弱引用或終結器,這是我可能會在Java或C#中做到這一點。
您不能有任何檢測特定對象是否可以被GCed的javascript代碼。測試它的代碼會阻止它被垃圾回收,因爲根據定義,代碼會引用它並且垃圾收集器不會GC仍然有實時引用的東西。
可以做,以驗證是否存在沒有內存泄漏的事情:
設計出了個遍運行有問題的代碼測試和測量瀏覽器的總內存使用情況,以驗證內存它的使用情況不會持續上升。
爲對象分配一個巨大的屬性值(例如mongo字符串),該屬性值非常大以至於您可以清楚地看到這些對象是否在總內存使用情況中發生泄漏。
使用各種開發人員工具(根據瀏覽器的不同而不同)以更細緻的方式查看瀏覽器內存使用情況。