v7: Объект "Таблица" при закрытии не выгружается из ОЗУ процесса #663968


#0 by AlexS1C
Тестировал отчеты на больших данных! Обработка формирует отчет! Объект "Таблица" переменная уровня процедуры где заполняется она! Но после закрытия самой таблицы или даже самой обработки память не освобождается! К примеру с 60 мб выросла до 300 мб! После закрытия обработки и самой таблицы, выгрузится по мелочи каких 15 мб и все 285 остается висеть! Кто что знает про эту проблему?
#1 by mikecool
Столько восклицательных знаков! проблема - мусорщик когда надо, тогда и сработает
#2 by ДенисЧ
Фича. в данном случае не сработает до закрытия 1с
#3 by fmrlex
Ну кстати да. Стратегия работы с памятью. Причем не самая плохая реализация.
#4 by mikecool
и чего бы не дать деструкторы для объектов?
#5 by ДенисЧ
Может, тебе ещё инсерт/апдейт груповой дать? :-)
#6 by AlexS1C
Т.е. я так понял это нельзя победить?
#7 by mikecool
да я и сам возьму )))
#8 by Chum
Семерка же. Она еще заставляет скуль память не отпускать. А вообще, иногда помогают такие фишки, как фиксированная высота строки таблицы или обнуление объектов после использования, например, Таблица = 0;
#9 by Torquader
Просто нужно для отчёта создавать переменную в модуле и использовать повторно, если отчёт обновляется. Также полезно перед удалением таблицы сделать удаление строк.
#10 by Cthulhu
да не надо истерить. нормально таблича очищает память при переназначении (присвоении переменной нуля или пустой строки, например). просто 1с-ина, забрав у системы эту память, не отдает её обратно, а продолжает использовать для размещения других своих объектов.
#11 by Cthulhu
+: а, да, возможно в контексте только этой формы. переоткрытие формы тогда помогает.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С