Запустите форму VB.NET как отдельный процесс. - PullRequest
0 голосов
/ 28 марта 2011

У меня есть приложение VB.NET, в котором одна из форм имеет элемент управления IE, изначально приложение запускается с объемом используемой памяти около 9 МБ, но при запуске формы IE объем используемой памяти увеличивается до 27 МБэта форма закрыта, память уменьшается всего на 3-4 МБ, так почему память, выделенная для IEFrame, не выделяется автоматически?Есть ли способ решить эту проблему?если возможно, было бы полезно запустить форму как отдельный процесс.

Ответы [ 3 ]

2 голосов
/ 28 марта 2011

Если вы убедитесь, что форма правильно утилизирована, сборщик мусора должен в конце концов освободить эту память. Запуск элемента управления IE в отдельном процессе не требуется. Однако, если вы используете IE 7, вы можете прочитать этот вопрос об утечках памяти.

1 голос
/ 28 марта 2011

Почему бы просто не поместить эту форму в отдельное приложение, если это проблема?Существует множество способов передачи любых данных между двумя приложениями.

0 голосов
/ 28 марта 2011

Все еще выделенная память может вообще не быть проблемой.Если у вас достаточно свободной памяти на компьютере, сборщик мусора .NET не будет запускаться для очистки.Только когда вам понадобится память, GC сработает.

Если вы хотите убедиться, что это утечка, вы можете сделать следующее:

  1. Убедитесь, что у вас нет ссылок нав любом случае.
  2. Вызовите GC.Collect ()
  3. Проверьте, не запрошена ли еще память

Не помещайте GC.Collect () вфинальная сборка;просто чтобы убедиться, что вы не охотитесь за призраками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...