【发布时间】:2010-08-01 18:11:25
【问题描述】:
我正在使用 WebClient,DownloadString("http://example.com/string.txt"); 当我调用它时,内存会上升,但再也不会下降,因为我需要从网上下载 2-3 个不同的字符串,所以内存会上升很多。
我是 C# 的新手,还在学习,但是在我从网上下载字符串后,是否有清除内存的方法? 如果没有,您知道我可以使用哪些其他方法从 Web 读取占用更少的内存吗?
谢谢
【问题讨论】:
-
不,别担心。垃圾收集的工作方式(对于 .NET 和其他地方)是内存不会立即释放。导致清理的原因是内存压力。
-
只要你没有持有对死对象的引用(并且你正确地处理了那些
IDisposable),你就可以依靠 GC 最终清理它们。但是如果你想亲自看看,你可以通过插入对GC.Collect(msdn.microsoft.com/en-us/library/system.gc.collect.aspx)的调用来测试它。这只是为了看看:你几乎不想在实际代码中这样做。