[英]Cleaning up variables in methods
我正在使用的大型软件中存在一些内存问题,正在查看我们编写的方法,这些方法在方法的开头声明了变量,但最后并未将其清除(清空或处置)方法的。
public static bool CheckIsNumber(string x)
{
int y;
return(int.TryParse(x, out y));
}
正如您在上面看到的, y
永远不会设置为null或处置或类似的东西,我一直认为它会被GC拾取,但是在查看内存分析器后,我就不再那么确定了。
.NET中的变量超出范围与垃圾回收之间存在区别。 Microsoft列出了将触发垃圾收集的三个条件:
来源: http : //msdn.microsoft.com/zh-cn/library/ee787088(v=vs.110).aspx#conditions_for_a_garbage_collection
当我查看.NET应用程序的内存使用情况时,它们通常会稳定上升到某个点,然后垃圾收集器会收集该内存,然后内存使用率会再次下降。 我能说的最好的就是它的工作原理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.