只是为了确保,假设我已经在这个固定数组上固定了字节数组和gchandle。
当调用gc handle.free()方法时,它是否只是释放句柄并将原始字节数组的管理权交还给gc,因此,如果有对该数组的活动引用,它现在还不会被释放?

最佳答案

你是对的。GCHandle只是同一对象的另一个句柄,只要您至少有一个,您的对象就不会被释放。
但是,您可以使用GCHandle类型分配Weak,如果您的GCHandle是唯一指向它的对象,则gc可以收集您的对象(如果您也有“正常”引用,则不会发生任何错误)。

10-04 12:21