程序启动好后占20M,最小化再还原时只有4M!无用的资源如何释放?(200分求助) (200分)

  • 主题发起人 主题发起人 bedlang
  • 开始时间 开始时间
B

bedlang

Unregistered / Unconfirmed
GUEST, unregistred user!
还有我这个程序是用ADO连接Access的,为什么做一个查询返回一个RecordSet竟用去30M内存
RrecordSet中有5000条记录,mdb文件只有500K,不过都是备注型的。
但最小化再打开时只占4M了。
请问如何手动释放掉没用的内存。
谢谢!
*********************
但为什么最小化再打开时只占4M了!!!
但为什么最小化再打开时只占4M了!!!
但为什么最小化再打开时只占4M了!!!
*********************
 
只要把recordset内容清空就行了
 
RecordSet内容已清空了还占20M,而最小化再还原只占4M了!
 
分几批呀
 
Close连接就可以了。。。
 
请看代码:
//RS:_RecordSet;
//conn:TADOConnection;
...
RS.Cancel;
RS.Close;
conn.Close;
conn := nil;
conn.free;
...
我想和这些没关系,因为我最小化再还原就只有4M了!!!
 
都是ado占的,别理它,你的机器要是没那么多内存它就不会申请那么大的内存了
可能你的机器内存比较大?
 
To:PiPi
我想不是那样的,那为什么最小化再还原就只占4M了!!!
 
很多程序最小化、还原之后内存都变小了,那是系统搞的,我也不清楚具体原因
 
比如我的outlook express,用了好久,变成10多m,最小化之后只有几百k,还原变成2、3m
一样的道理,可能是windows在窗口最小化的时候做了什么,管他呢
 
To:pipi
真是这样的,那有什么办法处理吗!
因为用户对性能要求很高,一看到占这么大的内存他们也许就不会再用我的软件了。
一启动就是20-30M,运行一会50-60M,有这都是ADO惹的祸吗?
我的天那!!!
 
我想知道你的机器是不是内存很大?
 
>> 一启动就是20-30M,运行一会50-60M,有这都是ADO惹的祸吗?

To: bedlang

我认为,你说对了,就是ADO的事. 他会把你的数据 放到 内存 中.

即使你不用, 也在内存的 缓冲中.

我认得有一次, 我用 ADO 打开 大富翁的离线数据库 竟用过我的 270M 内存.

(我的机器 是 Win2000 ,256M 物理 内存)

后来, 我用 DiamondAccess 打开, 就很快( 打开,查数,操作 等) 占内存 才 几M 吧.
 
to:pipi
196M
谢谢你了
 
to:山猫
请问DiamondAccess是什么?
怎么用?
可以告诉我你的QQ吗?
 
1、如果你换用小一点的内存的机器,内存占用就会小一点,你可能把机器搞成64M看看是不是
2、DiamondAccess是另外一个通过DAO存取access的控件,http://www.51delphi.com/ 有
 
DiamondAccess:
ftp://202.117.213.5/file/dacess20.rar
 
不过他只能存取access的,以后你要是换数据库,他就没用了的
 
那是不是只要运行这个程序的机器上都要装上DAO?
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部