/ / Spôsobí to únik pamäte prehliadača? - javascript, html

Bude to spôsobovať únik pamäte prehliadača? javascript, html

Vytváram pár divs s onclick udalosť na nich ako deti „parentDiv“. V budúcnosti som sa rozhodol parentDiv.innerHTML = "xyz" kde xyz je viac divs s onclick udalosti, ktoré nahradia tie staré.

Moja otázka: vyprchajú všetky prehliadače pamäť, pretože som neodstránil onclick udalosti starých divov pred ich odstránením z domu?

odpovede:

1 pre odpoveď č. 1

Navrhoval by som čítať ďalej úniku pamäte ako vysvetlil Douglas Crockford. V tomto článku nájdete podrobné príklady únikov pamäte a dokonca aj peknú funkciu vymazania, ktorá vám umožní prekonať problémy s nimi spojené. Užite si to!


0 pre odpoveď č. 2

Ak ich odstránite z DOM, všetky obsluhy udalostí mali by byť z nich odstránené a nespôsobovať únik.

Douglas Crockford má vynikajúce písanie Úniky pamäte JavaScript, Dobre stojí za prečítanie.


0 pre odpoveď č. 3

Nie, je na správe prehliadača. Po odstránení objektov prehliadač uvoľní (alebo aspoň by mal) uvoľniť priradenú pamäť. Nechcel by som na to banky.

V každom prípade, pokiaľ to nerobíte tisíckrát, neočakávam, že to bude problém.


0 pre odpoveď č. 4

Zvyčajne nie.

Ak sa však váš obslužný program onclick stane uzáverom, ktorý odkazuje na prvok HTML, ku ktorému je pripojený, môže v niektorých prehľadávačoch uniknúť.

Pozrite sa na túto príručku, ktorú som napísal, aby som získal ďalšie informácie o únikoch pamäte JavaScriptu a o tom, ako ich nájsť a opraviť: http://www.vladalexandruionescu.com/2012/08/javascript-memory-leaks.html, To by vám malo objasniť veci.