我的一位同事确信 Oracle 的 odp.net ado.net 实现中存在内存泄漏。他编写了一个测试程序来测试这个理论,并在对每个对象调用 dispose 后执行以下操作以确定释放了多少内存:
PerformanceCounter p = new PerformanceCounter("Memory", "Available Bytes");
GC.Collect();
GC.WaitForPendingFinalizers();
float mem = p.NextValue();
然后将得到的性能值与在处理对象之前检索到的值进行比较。这会产生准确的结果吗?