Quando analizziamo cumuli di memoria, dopo 4 tipi di GC ofhandleswe generalmente incontrare:Qual è il concetto alla base di "Handle Pinned GC"?
debole: - Maniglia GC debole non impedirà l'istanza corrisponde venga garbage collection.
Example, used by the System.WeakReference class instances
.Normale: - Un normale handle del GC impedisce che l'istanza corrispondente venga raccolta dai dati obsoleti.
Example, used by the instances of strong references
.RefCounted: - Una maniglia di riferimento GC contato viene utilizzato internamente dal runtime,
example, when dealing with COM interfaces.
Pinned: - Perché abbiamo bisogno di questo tipo di GC gestire? È solo per evitare il movimento di tale istanza in memoria o
is there any other notion behind this? I want to know the notion behind Pinned GC handle(with an example).
Edited la risposta di Itay: - Ho una non vuoto nell'edificio- DiffCell [] [] che è legato a una griglia di dati in WPF. Quando viene chiusa la finestra su cui è presente tale griglia, sul mucchio vedo Pinned GC maniglia punta a questo vuoto DiffCell matrice attraverso oggetto [] (vedi fotografia). I am not using any unsafe code. I am just setting ItemsSource of data grid to null before closing that window. So my question is who does pin this array on heap and why?
Grazie Itay! Si prega di vedere la domanda modificata e fammi sapere i vostri commenti su di esso. –
Non so davvero come funzionano WPF e binding, quindi temo di non poterti aiutare qui. –