所以我有一个程序可以每秒增加 5MB 的内存。由于每个应用程序只能分配 2GB,因此在我启动程序并获得 System.OutOfMemoryException 后大约 5 分钟就达到了限制。
我已经“完成了我的作业”(希望足够好:D)并且知道在一个块结束后,该块内的变量不会被处理。
最终,我需要一种方法来自动从每个块之后使用的变量中释放内存,以阻止 OutOfMemoryException 的发生。
PS:我意识到这个话题有很多困惑,所以如果我在我的问题中犯了错误,请随时纠正我。但大多数情况下,我想把这个例外排除在外。
编辑
好吧,奇怪的事情发生了。我将整个项目从我的桌面(它不起作用)复制到我的笔记本电脑上。显然,它在我的笔记本电脑上运行良好!内存只增加了 500 KBps,并在 1 秒后自动释放。我不知道为什么,它是完全相同的项目,并且没有更改任何代码。
有谁知道为什么会这样?