gpt4 book ai didi

.net - 表NewRow()导致内存泄漏

转载 作者:行者123 更新时间:2023-12-04 10:33:14 24 4
gpt4 key购买 nike

在调查内存泄漏时,我发现它是由多次在循环内的表上调用NewRow()引起的。但是,创建的DataRow从未添加到“表行”集合中,并且“表行数”从未超过零。

我的问题是,即使新创建的DataRow从未添加到Rows集合中并且从NewRow返回的DataRow始终分配给相同的局部变量(为什么显然会丢弃最后的新行),为什么每次调用NewRow都会占用更多内存)。

请忽略为什么代码创建未添加到表中的DataRows的问题!

最佳答案

DataRow从DataTable继承架构,因此有DataRow对生成行的表架构的引用。表中的新行处于“分离”状态。
这就是GC留下新的未使用的行的原因。

关于.net - 表NewRow()导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com