Ho la situazione in cui il ciclo di caricamento e chiusura di un documento consuma pochi Mb di RAM. Questa memoria non è trapelata come qualcosa che lo possiede e lo pulisce quando l'app esce (Visual Leak Detector e lo strumento Mac Leaks mostrano accordo su questo). Tuttavia, mi piacerebbe scoprire dove sta andando. Presumo che si tratti di una sorta di cache nell'applicazione che viene popolata quando il documento viene caricato ma non liberato quando il documento viene chiuso. Quali metodi o strumenti posso utilizzare per scoprire dove vengono effettuate queste allocazioni?Come scoprire dove sta andando la mia memoria
UPDATE:
seguente post di Hans ho aggiunto un ciclo per l'applicazione per i documenti più volte di apertura e chiusura. Ho scoperto che c'era un salto iniziale nell'utilizzo della memoria ('Byte privati' come riportato da Process Explorer) dopo aver caricato il primo paio di documenti, ma poi non è più aumentato ogni volta. Quindi questo suggerisce che non ci sono nuove allocazioni, e l'aumento apparente è probabilmente dovuto principalmente a un artefatto del paging.
Ho anche dato un'occhiata più da vicino a Strumenti sul Mac, che è stato utile per vedere dove stavano accadendo le allocazioni: creare uno strumento composto dagli strumenti Allocations and Leaks quindi aggiungere un'istantanea heap all'inizio e alla fine di un cicla e nell'elenco Heapshots mostrerà tutti i delta di allocazione relativi all'ultima istantanea. Ciò suggerisce che sul Mac le allocazioni di memoria erano aumentate di ma erano dovute a cache interne come il disegno di CoreGraphics, su cui abbiamo un controllo limitato.
Se apri/chiudi apri/chiudi apri/chiudi mangia un paio di Mb in più ogni volta che apri/chiudi o raggiunge solo una dimensione fissa dopo il primo tentativo. Inoltre, come stai misurando la memoria utilizzata? –