我有一个静态列表
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>
是否存在问题?
答案 0 :(得分:0)
这不是我说的内存泄漏。就我从你的问题中可以看出,这是你的程序的预期行为。
问题既不是Tuple
也不是List
- 这是您使用列表向其中添加项目的方式。
为避免因OutOfMemoryException
导致崩溃,只需从列表中删除不再需要的项目。