我正在使用C#2.0开发一个软件,它使用大约200MB的内存,偶尔会有高CPU。问题是,当我在应用程序运行时离开我的机器大约20-30分钟时,在我回来并尝试使用该应用程序后,它会冻结约2分钟,然后变为交互式。
为什么会这样?有什么方法可以避免这种情况吗?
谢谢大家。
此致
-Rakib
答案 0 :(得分:2)
只是一个疯狂的猜测,但也许你的应用程序的内存页面在空闲时被换出,并在你恢复时返回。
或者你的UI线程阻塞某些东西。我们需要更多细节才能真正诊断出来。
答案 1 :(得分:1)
我知道这是旧线程,但我在搜索类似问题的答案时偶然发现了这一点。
对于我使用计时器触发的renderTargetBitmap在显示期间关闭空闲(Vista,控制面板)很快就使用了所有内存和计算机冻结。
您可以在此处找到更多详细信息:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4a4ab601-f832-49ac-aca5-1f537fec1d04
(MSDN论坛 - .Net开发论坛 - WPF - 20分钟后开始大量内存消耗
答案 2 :(得分:0)
没有办法用最少的信息来回答这个问题。
一些猜测:
答案 3 :(得分:0)
您可以尝试使用某些.NET Profiler来确定代码或线程的哪个部分导致高CPU或内存使用