我在程序中需要用到一个递归函数,是对文件夹进行遍历的。但是发现当文件夹被遍历的时候,内存不断的增加。当文件夹结构较庞大(大概15万个文件夹或文件)的时候,内存就增加的非常明显,最后导致溢出。
         但是我发现windows在计算文件数量的时候,内存并不怎么增加。我想windows在计算文件数量的时候,也是需要遍历文件夹的呀,为什么windows遍历文件的时候,内存不增加呢?是不是需要清理缓存呀什么的。
        求各位高手解惑,谢谢!!

解决方案 »

  1.   

    //使用下试试 
               Directory.GetDirectories;
                Directory.GetFiles;
      

  2.   

    谢谢。不过,我想要做的是,在程序遍历了文件夹,内存已经被增加的情况下,如何释放内存。
    因为我猜测内存增加的原因是文件夹结构被保存到cache中,但是程序执行完成后,这部分内存不被释放所导致的。
    用系统提供的垃圾回收好像没有什么用。