2011-03-13 153 views
0

我目前正在開發一個應用程序,目的只是使用chrome,其中一個應用程序的屬性是它動態地附加JavaScript文件並運行它們。 當它們完成執行時,腳本標記被移除。由於應用程序的性質,我試圖避免刷新頁面。通過Javascript從HTML中刪除Chrome資源後刪除Chrome資源

我的問題是,Chrome會將這些文件保存爲資源(可以在開發人員工具中查看此文件)並繼續運行它們。因此,內存使用率會持續上升。

反正有阻止Chrome保留這些資源嗎?

回答

0

聽起來像你可能有一些reference leaks。您可以嘗試停止執行舊代碼(例如,從方法返回,取消註冊事件處理程序,setTimeout和setInterval句柄等),然後明確設置任何可能的代碼,而不是試圖顯式卸載dom中不再需要的javascript模塊的表示引用模塊範圍中的值爲null。

只有當你清理完所有這些垃圾回收器將釋放內存的引用後(因爲這是唯一的安全時間)。

+0

感謝您的回答。是的,我還沒有解決參考泄漏,但我知道發生了什麼。由於在某些腳本中實現了一些永久循環的性質,似乎當你刪除它們時,即使在從dom中刪除它們之後,它們仍然繼續該循環。我的解決方案是重寫setInterval和setTimeout來檢查全局條件以停止執行。謝謝。 – Bodman 2011-03-14 21:00:15