日期:2014-05-18  浏览次数:20875 次

.NET WindForm 系统运行一段时间后越来越慢
现在项目遇到一个问题,就是系统运行一段时间后变的越来越慢,界面上的控件(数量不是很多)像一个个刷上去的一样,比如打开两个窗体,两个窗体之间切换,而并不涉及数据库的操作,切换次数多了以后系统界面就像刷上去的一样,打开不是那么干脆,很让人头疼,也找不到问题所在。所以请大家帮忙,分析一下是什么问题

------解决方案--------------------
估计是为了追求界面漂亮,用的特效乱了套了.或者是没完没了的new和Show、Hide,从来不Close
------解决方案--------------------
怎么切换的?

同时看看有没有滥用timer,甚至滥用Application.DoEvent这类代码。

这种东西需要你删除代码去测试。
------解决方案--------------------
普通Table页?任务栏中的?还是哪的?
------解决方案--------------------
还是看不出你如何切换的。

如果程序内存增长很快,自然要可以看看有没有循环执行的代码。由于循环,你为了让程序不死机,于是可能搞了DoEvent等恶性循环。或者看看在timer、鼠标事件等等这些会被频繁触发的事件中,你有没有new什么对象实例,而这些对象实例其实是无法真正被GC回收的。

------解决方案--------------------
不知道你怎么变慢的?net 开发的程序不会这么脆弱矫情的
------解决方案--------------------
CPU占用率多少?

可以手动用GC回收一下内存资源