使用Directory.GetDirectories和Directory.EnumerateDirectories时永久性内存泄漏

时间:2014-04-15 18:52:43

标签: c# .net

我遇到了一个非常奇怪的情况,运行一个非常简单的应用程序会导致内存永久丢失(直到系统重新启动)。以下是代码:

List<string> list = Directory.EnumerateDirectories("G:\\Video", "*", SearchOption.AllDirectories).ToList();
List<string> list2 = Directory.EnumerateDirectories("H:\\Video", "*", SearchOption.AllDirectories).ToList();

这是应用程序中的所有代码。在这些视频文件夹中,有更多文件夹(大约30个),其中包含数百个.avi视频剪辑。运行此应用程序时,内存每30秒左右逐渐减少大约10 MB(因此,如果我让它运行几个小时,将丢失一个或更多的内存。)虽然在任务管理器中,内存不会&# 39; t出现在此申请表下。它实际上没有显示在哪里。停止此应用程序时,内存ISN恢复。它就像计算机上的东西以某种方式看到上面的代码被调用,然后将上述搜索中的文件加载到内存中。关于什么可以这样做的任何想法?没有其他应用程序正在运行(在任务管理器中),并且Visual Studio未安装在机器上。

1 个答案:

答案 0 :(得分:1)

对于笑话,你试试这个

List<string> list = = new List<string>();
foreach(var v in  Directory.EnumerateDirectories("G:\\Video", "*", SearchOption.AllDirectories)) list.add(v.ToString());
相关问题