就在前几天,我正在调查内存泄漏,该应用程序在两分钟内将应用程序从大约50MB膨胀到大约130MB.事实证明问题出在ConcurrentQueue类.在内部,该类存储数组的链接列表.当一个项目从ConcurrentQueue出队时,数组中的索引会被碰撞,但该项目仍保留在数组中(即它未设置为null).在足够的排队/出队之后,整个阵列节点被丢弃,因此从技术上讲它不是泄漏,但是如果在ConcurrentQueue中放置大对象,这可能会很快失控.文档没有记录这种危险.
我想知道基类库中还有其他潜在的内存缺陷吗?我知道Substring one(也就是说,如果你调用substring并保持结果,整个字符串仍将在内存中).你遇到过的其他人吗?