есть прога на winapi. при загрузке она занимает 2300 Кб. сворачиваю, восстановливаю — занимает уже 500 Кб.
вопрос: как освободить память программно?
Здравствуйте, Collecter, Вы писали:
C>есть прога на winapi. при загрузке она занимает 2300 Кб. сворачиваю, восстановливаю — занимает уже 500 Кб.
C>вопрос: как освободить память программно?
См. SetProcessWorkingSetSize
... << RSDN@Home 1.2.0 alpha rev. 655>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, Collecter, Вы писали:
C>может я что-нибудь не понял, но эта функция не освобождает память: "The SetProcessWorkingSetSize function sets the minimum and maximum working set sizes for the specified process". Если проге в какой-то момент нужно 2,5 Мб памяти — пусть берет. Но вот почему освобождает она ее так экзотически?
Блин, прочитал бы повнимательней справку по этой функции, там все написано:
SetProcessWorkingSetSize
...
The working set of a process is the set of memory pages currently visible to the process in physical RAM memory. These pages are resident and available for an application to use without triggering a page fault. The minimum and maximum working set sizes affect the virtual memory paging behavior of a process.
The working set of the specified process can be emptied by specifying the value -1 for both the minimum and maximum working set sizes.
Тут теюе и про отличие воркинг сета от реально занятой процессом памяти и про то, как освободить воркинг сет. Когда ты сворачиваешь приложение, его воркинг сет освобождается системой. Поэтому тамк манагер начинает показывать меньше
... << RSDN@Home 1.2.0 alpha rev. 655>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde