一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Javascript內存泄露

  英文原文:JavaScript Memory Leaks

  1. 什么是內存泄露?

  內存泄露是指分配給應用的內存不能被重新分配,即使在內存已經不被使用的時候。正常情況下,垃圾回收器在 DOM 元素和 event 處理器不被引用或訪問的時候回收它們。但是,IE 的早些版本(IE7和之前)中內存泄露是很容易出現的,因為內存管理器不能正確理解 Javascript 生命周期而且在周期被打破(可以通過賦值為 null 實現)前不會回收內存。

  2. 為什么你需要注意它?

  在大型 Web 應用程序中內存泄露是一種常見的無意的編程錯誤。內存泄露會降低 Web 應用程序的性能,直到浪費的內存超過了系統所能分配的,應用程序將不能使用。作為一位 Web 開發者,開發一個滿足功能要求的應用程序只是第一步,性能要求和 Web 應用程序的成功是同樣重要的,更何況它可能會導致應用程序錯誤或瀏覽器崩潰。

  3. Javascript 中出現內存泄露的主要原因是什么?

  1) 循環引用

  一個很簡單的例子:一個 DOM 對象被一個 Javascript 對象引用,與此同時又引用同一個或其它的 Javascript 對象,這個 DOM 對象可能會引發內存泄露。這個 DOM 對象的引用將不會在腳本停止的時候被垃圾回收器回收。要想破壞循環引用,引用 DOM 元素的對象或 DOM 對象的引用需要被賦值為 null。

  2) Javascript 閉包

  因為 Javascript 范圍的限制,許多實現依賴 Javascript 閉包。如果你想了解更多閉包方面的問題,請查看我的前面的文章 JavaScript Scope and Closure 。

  閉包可以導致內存泄露是因為內部方法保持一個對外部方法變量的引用,所以盡管方法返回了,內部方法還可以繼續訪問在外部方法中定義的私有變量。對 Javascript 程序員來說最好的做法是在頁面重載前斷開所有的事件處理器。

  3) DOM 插入順序

  當 2 個不同范圍的 DOM 對象附加到一起的時候,一個臨時的對象會被創建。這個 DOM 對象改變范圍到 document 時,那個臨時對象就沒用了。也就是說, DOM 對象應該按照從當前頁面存在的最上面的 DOM 元素開始往下直到剩下的 DOM 元素的順序添加,這樣它們就總是有同樣的范圍,不會產生臨時對象。

  4) 如何檢測?

  內存泄露對開發者來說一般很難檢測,因為它們是由大量代碼中的一些意外的錯誤引起的,但它在系統內存不足前并不影響程序的功能。這就是為什么會有人在很長時間的測試期中收集應用程序性能指標來測試性能。

  最簡單的檢測內存泄露的方式是用任務管理器檢查內存使用情況。在 Chrome 瀏覽器的新選項卡中打開應用并查看內存使用量是不是越來越多。還有其他的調試工具提供內存監視器,比如 Chrome 開發者工具。這是谷歌開者這網站中的堆分析的特性的教程。

  參考:

  1. http://Javascript.crockford.com/memory/leak.html

  2. http://msdn.microsoft.com/en-us/library/Bb250448

  3. http://www.ibm.com/developerworks/web/library/wa-memleak/

  (OsChina.NET 編譯)

it知識庫Javascript內存泄露,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 站长推荐国产精品视频 | 欧美天天综合 | 欧美一级做一a做片性视频 欧美一级做一级做片性十三 | 精品女同一区二区三区免费站 | 欧美精品福利视频 | 欧美xxx喷水 | 国产亚洲精品国产福利在线观看 | 韩国理伦一级毛片 | 黄色小视频在线观看免费 | 一二三四视频社区5在线高清视频 | 特黄女一级毛片 | 亚洲精品久 | 中文字幕第一页国产 | 成人激情四射网 | 欧美第一页| 国产网红在线观看 | 精品成人免费一区二区在线播放 | 精品日韩在线视频一区二区三区 | 精品麻豆 | 草久久久久| 欧美日韩国产码高清综合人成 | 国产精选在线播放 | 日本精品一区二区三区视频 | 91大神精品长腿在线观看网站 | 国产乱码精品一区二区三区中 | 中文字幕一区2区3区 | 国产小视频在线观看免费 | 四虎影视4hutv最新地址在线 | 综合色网站 | 五月婷婷激情 | 国产综合欧美日韩视频一区 | 丁香六月综合 | 激情视频激情图片激情小说 | 中文一区二区在线观看 | 91精品一区二区三区在线播放 | 九九婷婷 | 天天碰免费视频 | 在线视频二区 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片美女 | 色综合久久夜色精品国产 | 久久精品免视看国产成人2021 |