下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Javascript 閉包引起 IE 內(nèi)存泄露分析Javascript 閉包引起 IE 內(nèi)存泄露分析Javascript 閉包引起 IE 內(nèi)存泄露分析復制代碼代碼如下:functionfors() obj_a=obj_b;obj_b. attr=obj_a;復制代碼代碼如下:functionfors() obj_b= ;obj_b. attr=obj_b;上面是兩個個很顯示的循環(huán)引用, IE 中產(chǎn)生了內(nèi)存泄露,由于IE 的內(nèi)存回收機制,導至會長期占用內(nèi)存而不能釋放。但閉包的內(nèi)存泄露,有些隱蔽。因為閉包的 ' 循環(huán)引用,是間接的復制代碼代碼如下:div zz);functioniemem
2、ery()var js_obj=document. createElement (js_obj. oncontextmenu=function()returnfalse;從外表上看,沒有任何循環(huán)引用。但上面是一個閉包,根據(jù)閉包 的 特性,內(nèi)部函數(shù)有權(quán)訪問外部函數(shù)的變量對象。所以當 iememery 執(zhí) 行之后:js_obj是一個DOM元素的引用,DOM元素它長期在網(wǎng)頁當中,不 會 消失,而這個DOM元素的一屬性oncontextmenu,又是內(nèi)部的函 數(shù)引用閉 包,而這個匿名函數(shù)又和 js_obj 之間有隱藏的關(guān)聯(lián) 作用域鏈所以形成了一個,循環(huán)引用 . 即:js_obj. oncontextm
3、enu 間接引用到 js_obj 也就是說,這個對象 的 一個屬性,又間接的引用了自己。只要有循環(huán)引用,就會在 IE 下產(chǎn)生內(nèi)存泄露。翻開你的 windows 任 務管理器,在 IE 中不停刷新含有這個代碼的 html 頁面,看看 Iexploer 進程的內(nèi)存占用情況,一直上升,且不會自動回收降 低;解決方法:復制代碼代碼如下:fun cti oni ememery var js_obj=document. createElement,zdiv ,z;js_obj. oncontextmenu 二 function returnfalse; ;js_obj.one ontextme nu=null;/加上這句,斷開引用當IE中發(fā)生js對象與dom對象直接的循環(huán)引用,并且之后沒有引用指向他們,如果是 IE6, 內(nèi)存泄漏,直到關(guān)閉 IE 進程為止如果是 IE7, 內(nèi)存泄漏,直到離開當前頁面為止如果是 IE8, GC 回收器回收他們的內(nèi)存,無論當前是不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人抵押貸款協(xié)議模板版
- 專業(yè)借款中介服務協(xié)議2024版B版
- 月度團隊總結(jié)模板
- 2025年度茶葉品牌加盟連鎖經(jīng)營協(xié)議范本4篇
- 個人吊車租賃協(xié)議
- 二零二五年度跨境電商進口貿(mào)易合同樣本3篇
- 2025年度智能家居系統(tǒng)定制銷售合同4篇
- 2025年度智能交通管理系統(tǒng)全國代理合同4篇
- 二零二五年度存單質(zhì)押養(yǎng)老產(chǎn)業(yè)金融服務合同3篇
- 2024版移動通信網(wǎng)絡(luò)建設(shè)與維護合同
- 農(nóng)民工工資表格
- 【寒假預習】專題04 閱讀理解 20篇 集訓-2025年人教版(PEP)六年級英語下冊寒假提前學(含答案)
- 2024年突發(fā)事件新聞發(fā)布與輿論引導合同
- 地方政府信訪人員穩(wěn)控實施方案
- 小紅書推廣合同范例
- 商業(yè)咨詢報告范文模板
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓
- AQ 6111-2023個體防護裝備安全管理規(guī)范知識培訓
- 老干工作業(yè)務培訓
- 基底節(jié)腦出血護理查房
評論
0/150
提交評論