我需要重构我的项目以使其免受OutOfMemory
例外。
我的项目中使用了巨大的集合,通过更改一个参数,我可以使我的程序更加准确或使用更少的内存......
好吧,这就是背景。我想做的是循环运行例程:
- 使用默认参数运行子例程。
- 抓住
OutOfMemory
异常,请更改参数并再次尝试运行。
- 执行第二点,直到参数允许运行子例程而不引发异常(通常,只需要进行一项更改)。
现在,我想测试一下。我知道,我可以扔OutOfMemory
我自己例外,但我想模拟一些真实情况。
所以主要问题是:
有没有办法为我的程序设置某种内存限制,达到该限制后OutOfMemory
会自动抛出异常吗?
例如,我想为我的整个程序设置一个限制,比如说400MB内存,以模拟系统中有这么多可用内存时的情况。
能做到吗?
这看起来像是一份工作...系统运行时内存故障点.
http://msdn.microsoft.com/en-us/library/system.runtime.memoryfailpoint.aspx http://msdn.microsoft.com/en-us/library/system.runtime.memoryfailpoint.aspx
我认为链接中的示例适合您的情况。设置内存故障点达到您需要的任何级别,然后赶上内存不足异常并相应地调整您的输入参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)