Utilizza lo strumento Cronologia allocazione per trovare gli oggetti che non vengono raccolti correttamente come spazzatura e continuano a occupare memoria.
Come funziona lo strumento
Un report Cronologia allocazione combina le informazioni dettagliate dello snapshot del profilatore dell'heap con l'aggiornamento e il monitoraggio incrementali del riquadro Cronologia. Analogamente a questi strumenti, il monitoraggio dell'allocazione dell'heap prevede l'avvio di una registrazione, l'esecuzione di una sequenza di azioni e l'interruzione della registrazione per l'analisi.
Lo strumento acquisisce snapshot dell'heap periodicamente durante la registrazione (fino a ogni 50 ms) e un ultimo snapshot alla fine della registrazione.
Registrare un report Sequenza temporale allocazione
Per iniziare a utilizzare lo strumento Cronologia allocazione:
- Apri il riquadro Memoria in DevTools.
- Attiva il profilo Allocazioni nella sequenza temporale.
- Premi il pulsante Avvia per iniziare a registrare.
Leggere un profilo di allocazione heap
Il profilo di allocazione dell'heap mostra dove vengono creati gli oggetti e identifica il percorso di conservazione. Nell'istantanea seguente, le barre in alto indicano quando vengono trovati nuovi oggetti nell'heap.
L'altezza di ogni barra corrisponde alle dimensioni degli oggetti allocati di recente e il colore delle barre indica se questi oggetti sono ancora attivi nello snapshot dell'heap finale. Le barre blu indicano gli oggetti ancora attivi alla fine della sequenza temporale, mentre le barre grigie indicano gli oggetti allocati durante la sequenza temporale, ma da allora sono stati sottoposti a garbage collection:
Puoi aumentare lo zoom per filtrare il riquadro Costruttore in modo da mostrare solo gli oggetti allocati durante il periodo di tempo specificato. Per aumentare lo zoom, trascina il mouse sul periodo di tempo su cui vuoi concentrarti nella sequenza temporale.
Se fai clic su un costruttore specifico nel riquadro Costruttore, viene visualizzato il relativo albero di ritenzione nel riquadro Ritenimenti. L'esame del percorso di conservazione dell'oggetto dovrebbe fornirti informazioni sufficienti per comprendere perché l'oggetto non è stato raccolto e puoi apportare le modifiche necessarie al codice per rimuovere il riferimento non necessario.
Visualizzare l'allocazione della memoria per funzione
Puoi anche visualizzare l'allocazione della memoria per funzione JavaScript. Per ulteriori informazioni, consulta Esaminare l'allocazione della memoria per funzione.