Ho un'applicazione Silverlight piuttosto semplice, ultimamente abbiamo avuto segnalazioni da parte degli utenti dell'applicazione che si bloccavano dopo diverse ore di utilizzo (4+). Abbiamo iniziato a scavare nell'applicazione e abbiamo notato che la porzione di memoria non gestita utilizzata dall'applicazione inizia molto in alto e continua a crescere senza controllo. Gli altri heap sembrano essere gestiti bene. Ho fatto un sacco di ricerche e sono andato persino a rimuovere tutte le immagini dalla mia applicazione e la memoria non gestita continua a crescere.Perché la mia applicazione Silverlight utilizza così tanta memoria non gestita?
Sono solo confuso a questo punto su cosa stia esattamente consumando tutta la memoria non gestita nella mia applicazione e cosa posso fare al riguardo. Ecco un'istantanea della mia applicazione dopo il caricamento iniziale, come puoi vedere sta già utilizzando oltre 100 MB di spazio di memoria non gestito. Sto solo cercando una guida qui su quali oggetti potrebbero essere nella memoria non gestita e su cosa fare per ridurre la quantità di memoria non gestita utilizzata dalla mia applicazione. Grazie!
ho preso un'altra istantanea o due utilizzando .NET Memory Profiler e sembra che il Kernel-HeapMemory è il più grande pezzo. Non sono sicuro che questo aiuti molto ma ho pensato di postarlo comunque.
Il componente WebBrowser è incorporato nell'applicazione Silverlight? – kol
No, non stiamo usando il controllo WebBrowser. –
Non ti capita di creare molte WriteableBitmaps? –