易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi内存占用

程序中组件用的稍微比较多的时候,程序一启动就吃掉10几M内存,大家是如何解决这个问题地?
而且发现像Opendialog...这样的组件只要1打开就会吃掉6M左右,并且不会减少,我仔细检查过程序,不应该是内存泄露的问题,难道delphi本身就有这个问题。
这个不懂,不过才几M的内存不多的,50M以下完全可以接受。

现在就这个行情,都是多少M的。
你把程序最小化,然后还原,可能会释放一些内存。

期待高人指点

那是因为你有占内存的操作呗,看看是不是什么stream之类的操作

引用
那是因为你有占内存的操作呗,看看是不是什么stream之类的操作


没有,纯粹是拉的组件比较多。因为我程序主要功能就是编辑txt文件。

程序运行个3、5天后看内存变化情况

如果简单的就自己模拟若干次操作来查看内存占用情况

去掉一些怀疑的组件看看!

up


程序占用内存是由于申请内存造成,如果要降低物理内存,可以把物理内存刷为虚拟内存,不过会降低程序速度,刷新内存函数
begin
  SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;

引用
程序占用内存是由于申请内存造成,如果要降低物理内存,可以把物理内存刷为虚拟内存,不过会降低程序速度,刷新内存函数
begin
  SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;


这个确实可以达到减少当前占用的内存,但是好像治标不治本啊。只是暂时的将物理内存移到虚拟内存去吧。
而且程序效率也会受到影响。


相关问答:

delphi动态数组如何去掉一个元素

procedure DynArrayDelete(var A;elSize:Longint;index,Count:Integer);
var
len,MaxDelete:Integer;
P:PLongint; //4 个字节的长整形指针
begin
P:=PLongint(A);// 取的 A 的 ......

求一段delphi代码转C#代码,急用,可人民币支付,谢谢

急用。联系QQ:8775262,谢谢。
需要进行DllImport的地方直接写DLLImport.方法名。
如:DLLImport.GlobalAddAtom(……);
文件:UShare.pas
Delphi(Pascal) code:

unit UShare;
interface
uses Windows, Me ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号