C#WebClient内存使用情况

我正在使用WebClient,DownloadString(“ http://example.com/string.txt ”); 当我调用它时,内存会跳起来,但永远不会再下降,因为我需要从网上下载2-3个不同的字符串,所以内存会大大增加。

我是C#的新手并且还在学习,但是从网上下载字符串之后是否还要清除内存? 如果没有,你知道我可以使用任何其他方法从网上阅读使用更少的内存吗?

谢谢

WebClient实现了IDisposable ,因此您的代码应如下所示:

 string result; using (WebClient client = new WebClient()) { result = client.DownloadString("http://example.com/string.txt"); } Console.WriteLine(result); 

这将确保释放WebClient实例使用的大多数资源。

其余的最终将由垃圾收集器清理。 你不必担心这个。

Taskmgr.exe或ProcExp.exe等工具显示的“内存使用情况”会告诉您蹲下程序使用的实际内存。 当垃圾收集器释放虚拟内存时,可用空间几乎不会返回给操作系统。 它被添加到一个空闲块列表中,准备好在下一次分配时重用。 自由块合并回一系列可以释放的页面的几率非常小。

这绝不是一个真正的问题,这是虚拟内存。 另一种让您感觉良好的方法是最小化程序的主窗口。 这会削减工作集,使用的RAM量。