|
Поле HTML документа не освобождает память.
| ☑ |
0
LevelUP
04.06.13
✎
07:08
|
Заметил что обработка, использующая поле HTML документа, при закрытии не освобождает память. Чтобы быть уверенным, что дело именно в HTML поле, создал очень простую обработку с полем HTML на форме и одной кнопкой с кодом
ЭлементыФормы.Сайт.Перейти("http://www.kinopoisk.ru/");
Сайт может быть любым, но чем страница тяжелее (как кинопоиск), тем отчетливее заметна утечка памяти.
Обработка запускается - страница отображается - память в диспетчере занимается - обработка закрывается - память не освобождается.
Если обработку запускать несколько раз подряд, то память прилично так отжирается с каждым запуском.
Win7, пробовал на 17 и 18 платформах.
Никаких циклических ссылок в обработке нет, переменный модуля обработки не используются.
Поделитесь соображениями? может в настройках Explorer что не так?
|
|
1
Рэйв
04.06.13
✎
07:27
|
Погугли про "сборщик мусора"
|
|
2
Рэйв
04.06.13
✎
07:27
|
он может сильно запаздывать с очисткой.
|
|
3
LevelUP
04.06.13
✎
07:57
|
ну нашел-то только
v8: Сборщик мусора в 1с8
но там память жралась из-за ОЛЕ. А у меня тупо контрол отжирает и не возвращает. Полчаса ждал
|
|
4
Ковычки
04.06.13
✎
08:00
|
...parentWindow.window.close()
|
|
5
LevelUP
04.06.13
✎
08:06
|
(4) можно по подробнее? это не средствами 1С, да и окна вроде все закрыты, кроме родительского окна среды 1С.
|
|
6
LevelUP
04.06.13
✎
08:15
|
Выложил тестовую обработку с двумя строками кода
|
|
7
IamAlexy
04.06.13
✎
08:15
|
(0) память.. а чего ее жалеть то?
как понадобится - высвободится..
вы еще за скулем попробуйте понаблюдать.. как он кушает память и как ее обратно отдает. ага...
|
|
8
LevelUP
04.06.13
✎
08:21
|
(7) это парсер, анализирующий содержимое страницы, поэтому за несколько минут может быть открыто достаточно много интернет страниц и память может кончится. Вернее так и происходит.
|
|
9
Ковычки
04.06.13
✎
11:45
|
попытайся
ЭлементыФормы.сайт.Документ.location.href="about:blank";
|
|
10
LevelUP
05.06.13
✎
07:41
|
(9) Спасибо! То что нужно.
сам пробовал что-то типа ЭлементыФормы.сайт.Перейти("");
но желаемого эффекта не было.
|
|