问题描述
我收到“内存不足异常”,我的 32 GB RAM 甚至没有满,它正在下载图片,我希望它在晚上继续下载和扩展 RAM 使用量,甚至在之后使用 SSD 作为替代“RAM” RAM 已满(我有 2 TB SSD,其中有 390 GB 空)。
为什么要扩展 RAM,我正在做一个包含很多这样的循环:
using (WebClient wc = new WebClient())
{
wc.DownloadFileAsync(new Uri(url),@"g:\Folder1\" + i.ToString() + ".jpg");
}
那么为什么每次文件(图像)下载完成后都不释放 RAM。
解决方法
设置 pointer to the object to null to encourage garbage collection。
也就是说,依赖垃圾收集的 Java 和 C# 等语言,而不是具有可显式调用的真正析构函数,例如 C++ 和 Delphi (Object Pascal),清除垃圾的速度可能很慢。