我encoutered的情況下一些香草偵聽器關閉範圍,如:查找孤兒範圍削減內存泄漏
$(window).on('click', function() {
$scope.doSomething();
})
這聽衆是沒有正確綁定,因此這$scope
從來沒有垃圾收集。
由於它是一個非常大的Angular應用程序,我懷疑這可能發生在許多其他地方。
有沒有辦法讓內存中的所有範圍?僅僅從DOM元素中獲取它們是不夠的,因爲我想解決這個問題:元素已經被銷燬,範圍將$$destroyed
屬性設置爲true,但它仍然在內存中。
如果沒有Angular的方式來獲取它,我留下了標準的Javascript分析,請讓我知道,我會刪除這個問題(因爲它可能成爲與標準內存泄漏檢測方法重複)。
扮演惡魔的擁護者我會說真正的問題不在於內存泄漏,而是仍然活躍的事件處理程序。內存泄漏只是一個副作用。我想這一切都歸結於你最後的聲明。但我不會刪除這個問題。 – zeroflagL