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