M Milpas Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #1 好象用DELPHI写程序占用的内存都比较多, 有什么办法可以降下来? 动态创建FORM这个不算(因为我也知道)... 先出50分,有好答案可以加到200分以上
M MilkRoad Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #2 编写自己的专用VCL,delphi的VCL随着版本的升级,属性,方法,事件等也增加,所占用的内存 当然也会增加。 你也可以用动态建立控件的方法,但这样会减慢程序的速度,并且搞不好会占用更多的内存 还会频频出错,一般现在的电脑的内存都很大可以说影响不大,所以我觉得还是省点精力好。
编写自己的专用VCL,delphi的VCL随着版本的升级,属性,方法,事件等也增加,所占用的内存 当然也会增加。 你也可以用动态建立控件的方法,但这样会减慢程序的速度,并且搞不好会占用更多的内存 还会频频出错,一般现在的电脑的内存都很大可以说影响不大,所以我觉得还是省点精力好。
H HunterTeam Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #5 数据集控件尽量在使用时才将其打开,一不用就将其关闭。 同时,如有多个Form,在菜单project-Options-form页面下,将不需马上调用的form 移动到Available forms中,在需要时再按下面调用: FormX:=TFormX.Create(Self); FormX.ShowModal;//或FormX.Show; FormX.Free; //若是Showmodal,紧跟一句Free,可以确保在FormX关闭时将其占用资源释放。 Show的情况下,在FormX的close事件中加一句 action:=cafree;
数据集控件尽量在使用时才将其打开,一不用就将其关闭。 同时,如有多个Form,在菜单project-Options-form页面下,将不需马上调用的form 移动到Available forms中,在需要时再按下面调用: FormX:=TFormX.Create(Self); FormX.ShowModal;//或FormX.Show; FormX.Free; //若是Showmodal,紧跟一句Free,可以确保在FormX关闭时将其占用资源释放。 Show的情况下,在FormX的close事件中加一句 action:=cafree;
M Milpas Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #7 因为我的程序长期驻留,所以如果占用太多内存看起来不太好.... 我发现一个小程序一起来就占了5M,是不是太多了? 另外加载一个COM控件后,立马升到7M多,是不是COM特别耗内存?