有关EXE文件耗资源的问题 我写了一个程序,大概有22M但是生成的EXE文件就有4.3M这么大,运行的时候特别耗内存,我在任务管理器里看到,占用了24,808k的内存,系统老是提示内存不足? 我应该怎么给程序减肥?在系统里是怎么释放内存的?请大家指教~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 单元不要设为自动创建,,在每个单元的关闭事件中用NIL释放内存 用free释放内存,单元自己创建, 默认是自动创建的,一运行程序就都在内存里面了 程序中用到的一些图片,特别是大幅图片用LoadFromFile动态加载除主窗体外,其它窗体尽可能手动创建,不放心的话,显式调用FreeAndNil释放变量占用的内存。还有就是你写的是什么程序?如果是连数据库或用了皮肤控件的话,我觉得20多M也不算不正常,只是稍大一点,特别是在程序启动前的那刹那,程序还是很吃内存的。你的内存有多大? 我用来开发的机内存有256M(SD),运行没有问题,但是拿到128M的机用就不行啦~我写的是人事信息管理系统,没有数据库和皮肤控件都有23M啦。手动创建窗体是什么概念?是不是不用在project里写上Application.CreateForm这些?我的窗体都是在project里Application.CreateForm的。可否举个例子? 是的。project菜单->option->Forms选项卡,除主窗体外的其它窗体全部移到右边的列表框上去。//手动创建某一个窗口可以这样Form2 := TForm2.Create(Application);with Form2 dotry ShowModalfinally Freeend;不过,我感到纳闷的是,怎么会这么大?你一定有一些其它的特殊的情况。 我写了一个程序,大概有22M但是生成的EXE文件就有4.3M这么大???运行的时候消耗很多内存?? 可能就是 你分配了太多的内存 而没有注意及时的释放1 检查你的 new,getmem语句2 是否有很大的数据结构的对象。。 access如何按日期时间查询? TcxSpreadSheet的应用 大家帮我看看这段代码,谢谢。 此dll函数在vb中如何调用? 请问怎么根据循环语句生存变量. 如何通过query将数据库中的表用listview上显示? 一个关于KEYPRESS事件的程序??请大家帮忙 谁会关心我们的死活! 编译时出现错误:"Files not Found :XXX.dcu ." sql高手请进,bde中行,ado中出错,why!!! 哈哈,五个裤衩了,放分啦 动态创建一个对象,怎么用他提供的事件。
除主窗体外,其它窗体尽可能手动创建,不放心的话,显式调用FreeAndNil释放变量占用的内存。还有就是你写的是什么程序?如果是连数据库或用了皮肤控件的话,我觉得20多M也不算不正常,只是稍大一点,特别是在程序启动前的那刹那,程序还是很吃内存的。你的内存有多大?
Form2 := TForm2.Create(Application);
with Form2 do
try
ShowModal
finally
Free
end;不过,我感到纳闷的是,怎么会这么大?你一定有一些其它的特殊的情况。
1 检查你的 new,getmem语句
2 是否有很大的数据结构的对象。。