好多天沒有寫BLog了,最近解決了一個問題-減少內存占用。不過是有條件的,只能在WinXp,Win2K中應用此方法,不顯示主窗體一直運行的程序最佳。以前程序占用11M內存,我用動態創建窗口的方法只能減少不到100K,應用此方法後內存占用只有496K。把下面的過程放到一個Timer中,每隔一段時間執行一次,如5秒。
{
************************************
* Clear Memory
* From Muse2008
************************************
}
procedure ClearMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
application.ProcessMessages;
end;
end;
好多天沒有寫BLog了,最近解決了一個問題-減少內存占用。不過是有條件的,只能在WinXp,Win2K中應用此方法,不顯示主窗體一直運行的程序最佳。以前程序占用11M內存,我用動態創建窗口的方法只能減少不到100K,應用此方法後內存占用只有496K。把下面的過程放到一個Timer中,每隔一段時間執行一次,如5秒。
{
************************************
* Clear Memory
* From Muse2008
************************************
}
procedure ClearMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
application.ProcessMessages;
end;
end;