Пример, который я сейчас хочу вам показать, применим только для
программ работающих в фоновом режиме (для других в этом просто нет
смысла). Т.е программ, которые постоянно сидят в памяти и не мозоля
глаза пользователю занимаются своими делами. Данный delphi исходник
подойдет при создания троянов, вирусов, планировщика задач и.т.д. Для
таких приложений крайне важным является объем потребляемой памяти, и
разработчик должен свести его к минимуму.
Переходим к коду:
Создаем простенькую процедуру после вызова которой наша Delphi программа освободит всю ненужную ей память.
uses Windows, SysUtils;
procedure TrimWorkingSet;
var
MainHandle: THandle;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID);
SetProcessWorkingSetSize(MainHandle, DWORD(-1), DWORD(-1));
CloseHandle(MainHandle);
end;
end;