Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Вниз

Кто хавает память?   Найти похожие ветки 

 
TTCustomDelphiMaster   (2002-07-09 11:48) [0]

Уважаемые коллеги! Както раз я задавал этот вопрос на одном из форумов, но ничего путного мне не ответили. Мобыть вы поможете.

Както делал я программулину, которая ждет часа Ч используя таймер, в час Ч она читает инфу из файла (там написано какую прогу запускать и тд), обрабатывает ее и запускает прогу. Получает ответ о выполнении проги, настраивается на новый час Ч и засыпает.
Так вот захотел я вынести все мозговые функции программулины в dll, чтобы в основное время, когда она спит меньше памяти кушала.
Но получилось так, что при динамическом подключении dll размер памяти занимаемой программулиной увеличивался на 4 кб.
Тогда я провел эксперимент: по таймеру подключал и тут же отключал dll не вызывая никаких функций. Размер памяти занимаемой программой начал быстро увеличиваться по 4 кб и когда я пришел с обкурки (через 5 минут) достиг 30 МБ !!!
Ладно, забил я на dll сделал в exe"шнике. Но и тут интересная штука получилась. После запуска он занимает 1,7 Мб. Через час тоже. Через два тоже. Но на следующее утро занимает уже 430 кБ.

Так вот у меня сложилось впечатление, что память занимаемая локальными переменными и при удалении меродом FREE освобождается не сразу а через некоторое время.

Может ктото сталкивался с такими случаями или знает как это объяснить?


 
Eugene Lachinov   (2002-07-09 11:55) [1]

Ini-файлы используются ?


 
TTCustomDelphiMaster   (2002-07-09 12:10) [2]

В рабочем варианте да.
А в экперементальном (где 30 МБ отъела) ничего кроме формы, таймера и dll не было.


 
Skier   (2002-07-09 12:18) [3]

>TTCustomDelphiMaster
А может у тебя (при использовании DLL) Application.Handle
неправильно настраивается ???


 
IlyaA   (2002-07-09 14:25) [4]

Могу тебе сказать что размер проги уменьшился т.к. её часть (не используемая) упала в Swap, а в памяти осталось только то, что непосредственно используется


 
id_privin   (2002-07-09 14:32) [5]

Слышал (сам не тестировал, но верю) что Windows после закрытия приложения и прочих операций сброса памяти, эту память не освобождает а держит еще некое время, на случай если она опять потребуется


 
Игорь Шевченко   (2002-07-09 15:17) [6]

id_privin (09.07.02 14:32)

Где такую траву берешь ?


 
TTCustomDelphiMaster   (2002-07-09 15:22) [7]

Оказывается я неудачно выбрал dll для эксперимента

procedure TForm1.Timer1Timer(Sender: TObject);
var
Handle: THandle;
begin
// Использую свою и размер памяти постоянный
Handle := LoadLibrary("mymath.DLL");

// А так размер памяти занимаемой программой увеличивается
// Handle := LoadLibrary("C:\WINDOWS\SYSTEM\KERNEL32.DLL");
FreeLibrary(Handle);
end;


> Игорь Шевченко © (09.07.02 15:17)

Травой уже давно не питаюсь, только bond lights



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-70797
Smok_er
2002-07-09 09:47
2002.07.22
Система проговаривания времени


1-70740
Manulo
2002-07-09 15:18
2002.07.22
Работа с файлами...


1-70764
Question
2002-07-09 09:36
2002.07.22
O Screen.DataModuleCount


3-70630
den74
2002-07-01 14:09
2002.07.22
кирилица????


3-70596
den74
2002-06-27 16:41
2002.07.22
DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский