Приложение NETCF и диалог «Недостаточно памяти для программы» - PullRequest
1 голос
/ 01 марта 2010

У меня есть утечка памяти где-то в моем приложении NETCF, но вместо того, чтобы получить OutOfMemoryException с хорошей трассировкой стека, чтобы отследить его, я получаю большой белый вздрогнуть "Память программы ..." и придется перезагрузить устройство. Может ли кто-нибудь дать мне или указать мне хороший набор направлений, чтобы отключить Диалог «Память программ», и вместо этого должно вызываться исключение OutOfMemoryException?

Было предложено заменить компонент "Уведомление на основе пользовательского интерфейса" в моем дизайне ОС на компонент "Уведомление не на основе пользовательского интерфейса", но это не сработает для меня, поскольку пользователям с правами администратора необходимо использовать оболочку WinCE , которая зависит от компонента «уведомление на основе пользовательского интерфейса».

1 Ответ

0 голосов
/ 22 сентября 2011

Возможный обходной путь - контролировать использование памяти вручную.Вы можете использовать собственный API GlobalMemoryStatus () , чтобы получить текущую загрузку памяти (процент используемой системной памяти).Это не поможет, если вы получите внезапный всплеск использования памяти, но если это медленная утечка, вы должны быть в состоянии поймать ее, прежде чем система зависнет с диалоговым окном памяти.Мы использовали его таким образом, чтобы устройство автоматически регистрировало ошибку и перезагружалось, если оно когда-либо происходило.

...