1 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
(1)監(jiān)聽(tīng)在window/body等事件沒(méi)有解綁
(2)綁在EventBus的事件沒(méi)有解綁
(3)Vuex的$store watch了之后沒(méi)有unwatch
(4)模塊形成的閉包內(nèi)部變量使用完后沒(méi)有置成null
(5)使用第三方庫(kù)創(chuàng)建,沒(méi)有調(diào)用正確的銷毀函數(shù)
并且可以借助Chrome的內(nèi)存分析工具進(jìn)行快速排查,本文主要是用到了內(nèi)存堆快照的基本功能,讀者可以嘗試分析自己的頁(yè)面是否存在內(nèi)存泄漏,方法是做一些操作如彈個(gè)框然后關(guān)了,拍一張堆快照,搜索detached,按distance排序,把非空的節(jié)點(diǎn)展開(kāi)父級(jí),找到標(biāo)黃的字樣說(shuō)明,那些就是存在沒(méi)有釋放的引用。也就是說(shuō)這個(gè)方法主要是分析仍然存在引用的游離DOM節(jié)點(diǎn)。因?yàn)轫?yè)面的內(nèi)存泄露通常是和DOM相關(guān)的,普通的JS變量由于有垃圾回收所以一般不會(huì)有問(wèn)題,除非使用閉包把變量困住了用完了又沒(méi)有置空。
- 1 回答
- 0 關(guān)注
- 1624 瀏覽
添加回答
舉報(bào)