我速成版beta2做一个程序,加载了XML,数据库,一个界面控件,自己做的插件程序集,最后竟然要花掉35M内存。大家试着弄一个空白窗口,也就是项目一开始自动生成的窗口,生成以后运行。竟然耗用7.5M的资源!!!另外添加一个菜单栏,一个工具栏并生成标准的工具项,还有一个状态栏。运行,竟然消耗是12M!我真的有点怀疑这样的产品出去后有没有竞争力,空间复杂度竟然这么大。要知道QQ程序的内存消耗也不过是11M。

解决方案 »

  1.   

    另外,我看了一篇网上的文章后,知道最小化后再恢复可以减少内存。我把那个占12M的程序最小化后,变成300K恢复后,只得1M多。
    把我的那个35M项目最小化后只得700K,恢复以后,变成8M。
    55555,搞什么啊。
      

  2.   

    什么程序最小化都会减少内存,这和.net没关系,这是操作系统的内部机制
      

  3.   

    最小化并会会减少内存,只是将一部分物理内存置换到了 硬盘35M 并不是什么问题,现在普通的 “打字机” 都有 512M 标准内存了。主流机现在 大专院校 都有 1G 了(那天我去学院的经管学院),笔记本 1G 是主流关键是你的软件要有核心竞争力。 windows 不也比 linux 耗资源吗? 但是为什么还有人用它?
      

  4.   

    软件的发展方向是“软件工程”就像c++刚出来时c语言程序员贬低c++说效率不如cc++程序员又贬低说java效率不如c++可是现在java,c++多么红火你看得到吧。现代软件发展是怎么样提高开发效率,怎么样小组团队开发。性能,算法对一般应用来说都是其次了。对于现代软件工程来说,一般应用算法还不如格式规范重要。我现在在看一个90年代初的程序,c语言的,没有任何目录结构,没有任何软工概念。2000多个文件就全部列在根目录下。现在对这种程序升级,把人都逼疯了。
      

  5.   

    可能是.net的垃圾回收机制造成的。
      

  6.   

    不是.net的垃圾回收机制,你随便运行一个windows程序,最小化后恢复,都一般会减至1/3
      

  7.   

    没得减,就这么大,不过写程序的时候要注意Dispose()
      

  8.   

    "QQ程序的内存消耗也不过是11M"
    你再测试一下,再测试一下,好好测试一下。
    不要开QQ窗口,就只开QQ,你观察一下内存,不动它,看半个小时后是多少。
      

  9.   

    eclipse 不是也很耗内存吗?不是很受欢迎吗?jboss 不是很耗内存吗?一样很受欢迎Rose.XDE 不是很耗内存吗? 也很受欢迎3DMAX/MAYA 这些很耗内存,一样很受欢迎一个软件好不好,和占多少内存没有必然联系
      

  10.   

    我用c#开发WIN程序,运行非常好,几十M内存算什么,企业的服务器最少都是1G的内存, 也不过跑一两个应用。我感觉他们的硬件是在浪费呢?兄弟们,你门的电脑配置怎么样啊,最少也是2G以上CPU,512M内存吧,几十M算什么呢?
    这个世界从来都是 新的代替 旧的,跟不上就要淘汰(呵呵,说的过火点),再说了 C#才发展到2.0,只要MS不倒闭,嘿嘿,照样有希望
      

  11.   

    我想楼主是搞错了吧~!我怎么做程序以来就没有发现这个问题.呵呵~!不要过多的期望.NET的回收机制,一但资源用完一定要记住释放.还有我想算法和数据结构也是一个很重要的环节,好的算法能节省很多内存.不是让硬件去适应程序.是程序必须适应硬件.
      

  12.   

    汇编,c,c++,c#,java
    各有所长,各有所短,看你用来做什么
      

  13.   

    我分别运行了一下用delphi、C#、JAVA写的程序,DELPHI和C#的程序运行的所用的内存是差不多的,JAVA所用的内存是它们的两倍多,
    不知大家有没有意见。
      

  14.   

    我不喜欢.net 那带框架的东西,呵呵
    不过程序好像都耗内存的,楼主别担心
      

  15.   

    你难道不知道 msn 7.0 一开启就占 约 80M ,7.5 占 50M
      

  16.   

    占用内存大小不应该成为竞争性的最主要考虑因素,效率才是最关键的
    试问企业的数据库开发会用ACESS还是用ORACLE呢
      

  17.   

    主要问题在操作系统,如果你换成Vista会有很大改善
      

  18.   

    C#内存跟控件多少不成正比啦.
    有时候为了速度牺牲点空间很正常.
    比如...hash总会有些空的空间..
      

  19.   

    那是MS的超前战略,好比586时代的游戏软件制作,即使知道配置256M内存效果会好很多,但绝对只有傻瓜才以此标配进行开发。相反,目前的情形是即使128M够用了,也必须超前考虑。不能说我的软件内存占用低就是功能差点,有大内存誰让你不用啊,即使现在内存占用多点速度慢点,但一二年后再来看看,MS不至于愚蠢到加那么多无用的东西吧,更何况产品本身也在发展之中。
      

  20.   

    现在。NET还是做Web的好,做windows开发还是建议用VB,C++,Del阿
      

  21.   

    最开始都很慢,而且狂费资源!!有时候是cpu占领不多,但就是很烦,半天不响应
      

  22.   

    。NET平台的问题。用一些工具编译本地代码会好些吧??
      

  23.   

    軟件升級當然帶動硬件,microsoft and intel就是兩個合伙的家伙
    如果C#現在用來開發桌面程序,的確不太合適,不如VB,因為還需要裝個框架但是這是趨勢,因為微軟的操作系統將來會集成.net框架在裡面,以後的C#就象現在的VB了。