天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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內存泄露,轉載需保留來源!

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

主站蜘蛛池模板: 欧美卡1卡2卡三卡2021精品 | WWW国产色情在线观看APP | h版动漫在线播放的网站 | 日本精品久久久久中文字幕2 | 99久久无码热高清精品 | 嫩草成人影院 | 亚洲日韩欧美国产专区 | 嗯呐啊唔高H兽交 | 欧美性暴力变态xxxx | 调教椅上的调教SM总裁被调教 | 国产成人高清精品免费5388密 | 迈开腿让我看下你的小草莓声音 | 亚洲人成网站在线播放 | 美女被C污黄网站免费观看 美女白虎穴 | 国产午夜亚洲精品理论片八戒 | 胸太大被男同桌吃好爽 | 粗壮挺进邻居人妻无码 | 狠狠鲁快播 | 菠萝菠萝蜜免费播放高清 | 狠狠干狠狠色 | 97在线精品视频免费 | 国产69精品久久久久乱码 | 日本枯瘦娇小 | 国产精品人妻无码久久久奥特曼 | 毛片手机在线观看 | 亚洲免费网站在线观看 | 91精品一区二区三区在线观看 | 国产人妻麻豆蜜桃色精 | 成人无码精品一区二区在线观看 | 国产精品一库二库三库 | 处 女 开 破小说 | 么公一夜要了我一八次视频HD | 在线日韩欧美一区二区三区 | 欧美69xxx| 亚洲精品AV无码永久无码 | 美女脱18以下禁止看免费 | 中文字幕国产视频 | 久青草国产在视频在线观看 | 久久婷婷色香五月综合激情 | 办公室韩国电影免费完整版 | 日韩插啊免费视频在线观看 |