高分求助前辈们!关于vb生成exe以后的问题 为了方便各位前辈们看,我就长话短说了 我写了一个小程序 在VB中调试的时候仅有100k左右的内存占用可是生成EXE以后运行 内存占用 达到2000之多,请问这是为什么??如何可以解决这一问题。谢谢前辈们! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你程序的退出代码用的是End ,有可能会出现你这种情况,End虽然也是代表程序结束,但是并不会从内存中释放资源.. 如果你程序的退出代码用的是 Unload Me,就不一样了,Unload Me 是程序退出并且从内存中释放资源.. 另外检查一下: 最后关闭窗口的时候把打开的文件也关闭了吗?? “小”到什么程度?2000K也才2M,这个应该是包括VMM在内的,基本上是正常现象。在IDE中运行,类似于在VB6的“关照”下运行,是解释方式的,这个内存占用肯定还没有算入VMM的。只要你的程序在运行过程中,内存占用没有“不断的增加”,(本来就在不停的扩充数据内存的除外)基本上可以认为没什么问题。 我找了一个以前写的成品程序调试的时候 大概是2000K左右可是生成exe的时候 内存却达到了6000~8000的惊人占用率为什么调试跟生成exe差距如此之大呢 可能是代码逻辑问题,造成申请的内在未能及释放。即使在频繁的 申请&释放,正常情况下也是有一定的增长后,就停止增长。 如果内存始终在上升,就是有内存泄漏。可能A)调用外部资源没有释放。B)VB对象循环引用时不会自动释放(看 VB 帮助中的 循环引用 索引) 详细参考 《高级Visual Basic编程(Advanced Visual Basic)》 第六章 循环引用 一些内存没有被释放(比如:不用的窗体没有unload,Timer在运行等)。如果要知道具体原因,最好把程序挂到网上,便于查找原因。 DataGrid1.Row 第16条记录后 DataGrid1.Row得到的结果 总是等于14 这是为啥呢 关于用WINSOCK传送图片问题 mschart控件的问题?各位老大救命啊,老板吹我交了 Data1.Recordset.Move n, 1 一个小问题. 有点头痛的问题,怎样得知发生错误的代码在什么模块以及模块的那一行?? 菜鸟问题,立即结贴!! 菜鸟问题。我这个程序错在哪啊?? 如何实现MSHFlexGrid与ADODC的梆定 卖报,卖报!如何使一个程序支持插件! VB中MSFlexGrid中怎么知道滚动条拖动的距离 VB 生成的 word表格 没有边框线?还有几个小问题
最后关闭窗口的时候把打开的文件也关闭了吗??
2000K也才2M,这个应该是包括VMM在内的,
基本上是正常现象。
在IDE中运行,类似于在VB6的“关照”下运行,
是解释方式的,这个内存占用肯定还没有算入VMM的。
只要你的程序在运行过程中,
内存占用没有“不断的增加”,
(本来就在不停的扩充数据内存的除外)
基本上可以认为没什么问题。
即使在频繁的 申请&释放,正常情况下也是有一定的增长后,就停止增长。
可能
A)调用外部资源没有释放。
B)VB对象循环引用时不会自动释放(看 VB 帮助中的 循环引用 索引)
详细参考 《高级Visual Basic编程(Advanced Visual Basic)》 第六章 循环引用
如果要知道具体原因,最好把程序挂到网上,便于查找原因。