html - DOM-nodene i Angular-applikasjonen min blir ikke ryddet opp av søppeloppsamleren


Jeg har bygget en Angular-applikasjon.

For eksempel, når jeg åpner en lightbox-komponent, opprettes nye DOM-noder. Så langt, så bra. Hvis jeg lukker lightboxen, må nodene ryddes opp igjen av søppelsamleren. Dessverre skjer ikke det. Hvis du arbeider med applikasjonen en stund, opprettes et ekstremt stort antall DOM-noder, og applikasjonen overlates fullstendig til deg.

I begynnelsen har jeg 7 000 DOM-noder og JS-heap-størrelsen er 50 MB. Etter en stund øker tallet til 800 000 DOM-noder og JS-heap-størrelsen er over 1 GB.

Jeg har analysert koden min ved hjelp av Google DevTools, og det ser ut til at søppelinnsamleren aldri rydder opp.

Så hva kan være årsakene til at HTML-noder i en Angular-applikasjon ikke blir slettet av søppelsamleren etter at komponentene har blitt ødelagt?