SetProcessWorkingSetSize - В чем загвоздка? ​​

Я нашел статью на About.com, в которой рассказывается, как управлять памятью приложений.

Вот код:

procedure TrimAppMemorySize;
var
  MainHandle : THandle;
begin
  try
    MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
    SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
    CloseHandle(MainHandle) ;
    Log('Trimmed Memory Successfull!');
  except
    Log('Failed to trim Memory!');
  end;
  Application.ProcessMessages;
end;

Я пробовал, работает отлично - даже когда мое приложение что-то делает, а я нажимаю кнопки и т. д., оно все равно делает свое дело и работает как шарм. Я смотрю на использование памяти своими приложениями в мониторе ресурсов, и, насколько я могу судить, все хорошо.

Итак ... В чем загвоздка? Все мы имеем дело с проблемами памяти, но действительно ли решение так просто? Может ли кто-нибудь сказать мне, плохо ли делать это каждые 60 секунд?

Я перезагружусь, попытаюсь запустить свою программу и выложу снимок экрана с моим монитором ресурсов.

15
задан Cœur 10 September 2017 в 04:36
поделиться