[英]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.