静态类中的大量内存使用

时间:2015-09-06 10:37:11

标签: c# string memory-leaks crash-dumps

我有一个静态列表

List<Tuple<string, string>> binariesList = new List<Tuple<string, string>>()

在名为Class1的静态类中。

非静态类Class2多次使用Class1。经常构造Class2的实例,我认为没有问题(Garbage Collcetor收集它)。

但只是在程序开始时,Class1会将大约2 MB的文件加载到binariesList

在静态load()方法中,我使用它来加载每个元素:

dic.Add(new Tuple<string,string>(temp[i].Split(',')[1].Trim(), temp[i].Split(',')[0].Trim()));

我遇到内存问题,看到有一个高引用计数和大小(字节)列,我在内存转储中为Tuple<string,string>分析。

Tuple<string,string>是否存在问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

这不是我说的内存泄漏。就我从你的问题中可以看出,这是你的程序的预期行为。

问题既不是Tuple也不是List - 这是您使用列表向其中添加项目的方式。

为避免因OutOfMemoryException导致崩溃,只需从列表中删除不再需要的项目。