只是为了确保,假设我已固定字节数组和此固定数组上的 GCHandle。
当调用 GCHandle.Free() 方法时,它是否只是释放句柄并将原始字节数组的管理交还给 GC,因此如果有对该数组的事件引用,则不会刚刚处理完了吗?
最佳答案
你是对的。 GCHandle
只是同一个对象的另一个句柄,只要你有至少一个,你的对象就不会被释放。
但是,您可以分配 Weak
类型的 GCHandle
,如果您的 GCHandle
是唯一指向的,这将允许 GC 收集您的对象对它(如果您也有“正常”引用,则不会发生任何坏事)。
关于c# - GCHandle.Free() 是否只是释放句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206665/