Приложение зависает после некоторого простоя - PullRequest
2 голосов
/ 16 апреля 2010

Я занимаюсь разработкой программного обеспечения с использованием C # 2.0, которое использует около 200 МБ памяти и иногда высокую загрузку ЦП. Проблема в том, что когда я оставляю свою машину бездействующей в течение 20-30 минут с запущенным приложением, после того, как я вернусь и попытаюсь использовать приложение, оно зависнет примерно на 2 минуты, а затем станет интерактивным.

Почему это происходит? Есть ли способ избежать этого?

Спасибо всем.

С уважением,

-Rakib

Ответы [ 4 ]

2 голосов
/ 16 апреля 2010

Просто дикая догадка, но, возможно, страницы памяти вашего приложения выгружаются, когда оно простаивает, и возвращаются обратно, когда вы возобновляете.

Либо это, либо ваш поток пользовательского интерфейса блокирует что-то. Нам нужно больше деталей, чтобы действительно поставить диагноз.

1 голос
/ 19 января 2011

Я знаю, что это старая тема, но я наткнулся на это после поиска ответа на похожую проблему.

Для меня с помощью активированного по таймеру файла renderTargetBitmap во время отображения отключить на холостом ходу (Vista, панель управления) довольно скоро использовал всю память и компьютер завис.

Более подробную информацию вы можете найти здесь:

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4a4ab601-f832-49ac-aca5-1f537fec1d04

(MSDN Forums - Форумы по разработке .Net - WPF - Огромное потребление памяти начинается через 20 минут

0 голосов
/ 16 апреля 2010

Вы можете попробовать использовать .NET Profiler , чтобы выяснить, какая часть кода или потока вызывает высокую загрузку ЦП или памяти

0 голосов
/ 16 апреля 2010

Нет возможности ответить на такой вопрос с минимальным количеством информации.

Некоторые догадки:

  • Включается сборщик мусора (очень вероятно?)
  • Доступ к некоторым системным ресурсам
  • Пользовательский интерфейс Тема блокируется
...