簡體   English   中英

C#WebClient內存使用情況

[英]C# WebClient Memory Usage

我正在使用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量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM