今天在SourceForge下到了FastMM (Fast Memory Manager),听说比官方的内存管理快多了,试了一下,果然不错。目前最新的是4.27。
就我的使用范围来说,我就是想看看我的程序有没有内存泄漏。首先在下载的文件里你会找到一个文件,位置在
Replacement BorlndMM DLL\Precompiled\for Delphi IDE\Performance\BorlndMM.dll,
替换掉Delphi\Bin下的相应文件就可以完成对IDE的提速。
对自己编的程序的提速也非常简单,只要在.dpr工程文件里的uses部分加上FastMM4就可以了,但必须是加在第一位,还要记得设置路径。重新编译你的程序就可以完成提速。一般情况下,感觉程序的启动速度会有提高。如果你的程序有内存泄漏的话那就会在程序关闭时弹出一个对话框告诉你你的程序有内存泄漏,并指出相应的有内存泄漏的类。例如,我的程序中用到了IntraWeb 7.1.12。就会有内存的泄漏,而且是没有法子改的。于是乎就在每次程序结束时留有一个对话框,着实郁闷。其实也是有办法解决的。
打开FastMM4Options.inc文件。在文件的末尾添加如下代码:
{$ifdef Release}
? {Specify the options you use for release versions below}
? {$undef FullDebugMode}
? {$undef CheckHeapForCorruption}
? {$define ASMVersion}
? {$undef EnableMemoryLeakReporting}
? {$undef UseOutputDebugString}
? {$undef LogErrorsToFile}
? {$undef LogMemoryLeakDetailToFile}
{$else}
? {Specify the options you use for debugging below}
? {$define FullDebugMode}
? {$define EnableMemoryLeakReporting}
? {$define UseOutputDebugString}{$endif}
再编译你的程序,现在,即使你的程序有内存泄漏,FastMM也不会提醒你了。当然,要恢复也很容易,只要将上面的第一行注释掉就可以了。如下:
…
总的来说,FastMM给我的感觉是非常好,我将我负责的两个程序全都重新编译了一下,启动速度的提高让人满意。网上有人说对使用DevExpress公司的控件组效果很明显,呵呵,我用的就是这套控件组,及时雨呀!