CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

.Net程序的内存消耗

楼主speedfirst(speedfirst)2005-12-21 09:12:35 在 .NET技术 / C# 提问

随便开了个WinForm工程,拖了几个控件上去,然后运行,发现内存消耗竟然达到了25~30M。  
   
  自己编了一个稍微有用点的东西是WinForm+DLL,发现消耗高到70+   M  
   
  一台机器的内存才多少啊。这么大的内存消耗量正常么?还是我哪没设置好? 问题点数:20、回复次数:19Top

1 楼tangyong12(海洋之星)回复于 2005-12-21 09:19:21 得分 0

.NET编译后的应用程序内存占用应该不会那么多,可能你在编译的时候内存会大点。Top

2 楼jailu(jailu)回复于 2005-12-21 09:20:42 得分 0

确写如此,怪哉Top

3 楼Flashcom(虫虫)回复于 2005-12-21 13:40:55 得分 10

你是在调试吧。。。。Top

4 楼jinqinghai()回复于 2005-12-21 14:06:14 得分 0

刚才尝试了一下自己编的项目,大约消耗50M左右,楼主的程序里面是不是用的控件太多了?  
   
   
  Top

5 楼tiaoci(我挑刺,我快乐)回复于 2005-12-21 15:19:21 得分 0

一台机器的内存才多少啊  
   
  大概是1G左右    
   
  70M/1G   =   7%Top

6 楼speedfirst(speedfirst)回复于 2005-12-21 18:40:44 得分 0

都有1G的内存,羡慕啊。  
   
  我是说,用普通C++写的东西内存消耗从来没超过1M过。  
   
  本来猜测.Net的应用程序顶多就10M左右,结果……  
   
  但愿是调试的问题吧。  
   
  如果发明一种语言,能够自动GC和手动Delete同时用就好了。Top

7 楼ChrisAK(LOLICON)回复于 2005-12-22 00:52:29 得分 0

.net下一个空的WinForm显示后都要吃将近10M的内存的......  
  可是如果最小化后再还原就变成了1M左右(有时只有几百K)  
  所以我一般采用这种办法释放内存.不知道MS搞的什么明堂...Top

8 楼zeusvenus()回复于 2005-12-22 08:01:59 得分 10

不算异常,因为CLR就要消耗不少内存。  
  同时,如果你再增大应用的规模,内存消耗增大也不会特别明显。Top

9 楼tiaoci(我挑刺,我快乐)回复于 2005-12-22 08:29:22 得分 0

那你就去用C++写好了,  
   
  也没人求着你用.NET啊   :)  
   
  只要你键盘敲得够快,脑细胞足够多  
  Top

10 楼mobydick(敌伯威|我排著队拿著爱的号码牌)回复于 2005-12-22 09:18:17 得分 0

楼主可以再开一个线程用于垃圾回收(GC.Collection()),每隔5秒回收一次,保证内存消耗在30M以内。Top

11 楼zk911(尘埃)回复于 2005-12-22 09:23:25 得分 0

我也遇到同样的问题  
   
  每次运行我的程序时   六、七十的内存就被占用了  
   
  好郁闷啊  
   
  不知道把程序拿到配置比较低的机器上会是一种什么结果  
   
  不敢想象啊  
   
  555555555  
   
  Top

12 楼hl_ws(小数点)回复于 2005-12-22 09:39:43 得分 0

编译后再运行就没这么大了Top

13 楼DiverSoft(採珠人)回复于 2005-12-22 10:05:38 得分 0

学习  
   
   
   
  ====CSDN   小助手   V2.5   2005年11月05日发布====  
  CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件  
  界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx  
  下载:http://szlawbook.com/csdnv2  
   
  Top

14 楼wls12342004(青青子木)回复于 2005-12-22 10:31:34 得分 0

拜托,这有什么好争的,   不同的项目不同对待呗,如果是做系统软件就是c++了,如果做应用的话,.net快,多点内存应该没关系的,除非特殊情况1Top

15 楼speedfirst(speedfirst)回复于 2005-12-22 19:38:06 得分 0

可惜C++   没有.Net那么好用的类库。要用什么还要满世界找,同时,质量参差不齐。Top

16 楼Yuna_2z(其实游戏是一艺术,而我只是身陷其中!)回复于 2005-12-22 21:00:28 得分 0

回复人:   mobydick(敌伯威|我排著队拿著爱的号码牌)   (   )   信誉:100     2005-12-22   9:18:18     得分:   0      
     
     
         
  楼主可以再开一个线程用于垃圾回收(GC.Collection()),每隔5秒回收一次,保证内存消耗在30M以内。  
   
  这个注意现在好象比较流行……  
   
       
     
  Top

17 楼wmhnq()回复于 2005-12-22 21:08:47 得分 0

在散养700,192内存上跑,感觉就是一般慢,主要是慢习惯就好。Top

18 楼speedfirst(speedfirst)回复于 2005-12-22 21:17:09 得分 0

回复人:   mobydick(敌伯威|我排著队拿著爱的号码牌)   (   )   信誉:100     2005-12-22   9:18:18     得分:   0      
     
     
         
  楼主可以再开一个线程用于垃圾回收(GC.Collection()),每隔5秒回收一次,保证内存消耗在30M以内。  
  ===============================================================  
  那为何不设计一个Delete命令,让我能手动管理的就手动管理,手动管理不了的再自动GCTop

19 楼speedfirst(speedfirst)回复于 2005-12-22 21:20:39 得分 0

突然想到C++/CLI   似乎可以同时维护托管堆和非托管堆,  
  好好研究一下回去。Top

相关问题

  • 内存消耗问题
  • 关于内存的消耗!
  • 请问.net程序怎样释放内存空间
  • 如何有效降低.net程序的内存占用率?
  • WIN2000 Server 无端消耗内存问题!!
  • ADOQuery的内存消耗的问题,急!!!
  • 内存驻留程序--tsr
  • 程序驻留内存
  • 测试内存程序
  • .net程序占用内存太大了!请问这个正常吗?

关键词

  • .net
  • c++
  • 内存
  • 编译
  • 线程
  • 垃圾
  • csdn
  • 管理
  • 消耗
  • 程序

得分解答快速导航

  • 帖主:speedfirst
  • Flashcom
  • zeusvenus

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo