我在程序中需要用到一个递归函数,是对文件夹进行遍历的。但是发现当文件夹被遍历的时候,内存不断的增加。当文件夹结构较庞大(大概15万个文件夹或文件)的时候,内存就增加的非常明显,最后导致溢出。
但是我发现windows在计算文件数量的时候,内存并不怎么增加。我想windows在计算文件数量的时候,也是需要遍历文件夹的呀,为什么windows遍历文件的时候,内存不增加呢?是不是需要清理缓存呀什么的。
求各位高手解惑,谢谢!!
但是我发现windows在计算文件数量的时候,内存并不怎么增加。我想windows在计算文件数量的时候,也是需要遍历文件夹的呀,为什么windows遍历文件的时候,内存不增加呢?是不是需要清理缓存呀什么的。
求各位高手解惑,谢谢!!
Directory.GetDirectories;
Directory.GetFiles;
因为我猜测内存增加的原因是文件夹结构被保存到cache中,但是程序执行完成后,这部分内存不被释放所导致的。
用系统提供的垃圾回收好像没有什么用。