将应用程序11M内存占用,降至500K左右
以前在优化FireFox的时候,有一项设置,可以在最小化的时候,大幅降低内存占用,最近使用PhotoShop CS4,发现也有这样的功能,最小化之后Photoshop居然只占用了2M内存,简直让人不可思议;忽然曾经看到过Delphi群里一位朋友写的博客, 也可以实现这样的功能,但当时没有引起注意;尝试了一下是不是可以在我们的程序中应用一下,随便一个delphi写的程序都要10几兆,大一点的程序要100M左右,今天做了一下测试,用下面的方法就可以实现
下文摘自:http://51100k.blog.163.com/blog/static/2656032200953082658459/
在WinXp,Win2K(Vista、Windows7没有进行过测试,如果有人测试后,请转告我一下)中应用此方法,不显示主窗体一直运行的程序最佳。以前程序占用11M内存,我用动态创建窗口的方法只能减少不到100K,应用此方法后内存占用只有496K
下文摘自:http://51100k.blog.163.com/blog/static/2656032200953082658459/
在WinXp,Win2K(Vista、Windows7没有进行过测试,如果有人测试后,请转告我一下)中应用此方法,不显示主窗体一直运行的程序最佳。以前程序占用11M内存,我用动态创建窗口的方法只能减少不到100K,应用此方法后内存占用只有496K
{
************************************
* Clear Memory
* From Muse2008
************************************
}
procedure ClearMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
Application.ProcessMessages;
end;
end;
************************************
* Clear Memory
* From Muse2008
************************************
}
procedure ClearMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
Application.ProcessMessages;
end;
end;