用 C# (Forms) 编写的应用程序在一段时间后会变慢(特别是在从睡眠模式醒来后,也可能在 30 分钟后)。
该应用程序具有以下结构:
按下按钮 1 或按钮 2 时主面板会发生变化。如果单击按钮 2,则实际面板中会显示子菜单和子面板:
有趣的是,应用程序只需要很长时间就可以在面板 1 和面板 2 之间切换(即按下按钮 1 或按钮 2)。按下按钮 2 并加载面板后,子面板之间的切换(如果按下按钮 2a、2b 和 2c)很快。
正如 Davin Tryon 在他对这篇文章的回答中所建议的那样 >长时间运行的应用程序变慢了< 我已经检查了 CPU、内存、磁盘和网络。
但是这些值对我来说似乎并不高......
编辑 2013 年 3 月 23 日下午 6:11: DasKrümelmoster 询问按钮/面板 1 和按钮/面板 2 之间的切换代码:
activePanel.Hide();
activePanel = getPanelFromSelectedMenuElement(selectedMenuElement); // would return "panel2";
在子面板之间切换时基本相同。