垃圾回收的重要性
从网上找了个透明时钟的例子,就是有4种界面的那个(银色、黑色、红色、花瓣),想把它改造一下,改成什么样子以后再发帖。在看他的代码的时候发现一个问题,就是计时器的Tick方法:
![](/Images/OutliningIndicators/ContractedBlock.gif)
Draw()是显示表盘的方法,具体代码就不贴了。我想这样会不会大量吃内存呢?让他运行几分钟,发现内已被占去几十兆,这确实很难让人接受。加上GC.Collect()试试看:
![](/Images/OutliningIndicators/ContractedBlock.gif)
运行几分钟后,占有的内存空间没有变化。
结论:虽然.NET有垃圾自动回收机制,但是最好还是手工添加,避免吃内存的情况发生。
其实微软建议不要进行强制垃圾回收(2009年3月17日补充)。
如有错误或不当之处请拍砖。