Имя: Пароль:
1C
1С v8
Поле 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
Выложил тестовую обработку с двумя строками кода
http://dfiles.ru/files/9xr94scom
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) Спасибо! То что нужно.
сам пробовал что-то типа ЭлементыФормы.сайт.Перейти("");
но желаемого эффекта не было.