社区
C#
帖子详情
关于.net 中内在占用过大问题。
Qim
2006-04-26 03:46:33
普通的一个windows Form 一编译运行就会点用7M以上的内存。当改变WindowState为Minimized时却仅占用1M多一点点的内存。哪位高手能解释一下。如何手动控制内存的释放?多谢多谢。
...全文
337
21
打赏
收藏
关于.net 中内在占用过大问题。
普通的一个windows Form 一编译运行就会点用7M以上的内存。当改变WindowState为Minimized时却仅占用1M多一点点的内存。哪位高手能解释一下。如何手动控制内存的释放?多谢多谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aSalt
2006-04-27
打赏
举报
回复
....
HengHuan
2006-04-27
打赏
举报
回复
呕,来帮顶
sugarsupper
2006-04-27
打赏
举报
回复
都是这样的了
diandian82
2006-04-27
打赏
举报
回复
又不会死机,怕什么?
stanly20000
2006-04-27
打赏
举报
回复
这种钻牛角尖的问题还在讨论啊.
Qim
2006-04-27
打赏
举报
回复
UP
Qim
2006-04-27
打赏
举报
回复
楼上达人?说的太轻松了吧?
现在不是说有没有必要的问题。
而是为什么它会占用本不应该占用的内存???为什么刚开始的时候占用最大,最小化之后会占用很小,从最小化恢复normal后仍占用很小。如果我运行一个程序,不把它最小化,难道那些刚开始运行占用的内存它会一直占有????
引用:
7m是可以理解的,.NET提供的窗体资源比较丰富,内存自然要耗得多一点;还需要有CLR再入后占用的内存(提供多个不同线程来维护应用程序)。当最小化之后,内存占用变少是windows机制,当一个程序处于inactive状态的时候,它的物理内存会被压缩,一部分数据会被缓存到硬盘,实际也就是虚拟内存。
可是当一个.net程序从最小化再变为最大化时,所占内存还是那么少.
这跟windows机制应该也有关系.
非托管程序也有这种现象,只是没有这么明显罢了.
可能是托管程序刚运行时需要额外的内存,而运行起来以后这部分内存就可以释放了.
-渔民-
2006-04-27
打赏
举报
回复
這些都是老生常談了,覺得沒有必要,硬件也要和軟件一起發展的,水高船漲
Qim
2006-04-27
打赏
举报
回复
多谢以上达人。
To Hemee() 如何手动更改inactive状态?
我想实现的只是把它占用的内在降的小一些。仅建一个空的Form,运行就会占用这么大的内存,总不是一件好事吧。大伙可以自己试试。
不只是内存条长不长价的问题。
huangguangdou
2006-04-27
打赏
举报
回复
关注
mmcl
2006-04-26
打赏
举报
回复
可是当一个.net程序从最小化再变为最大化时,所占内存还是那么少.
这跟windows机制应该也有关系.
非托管程序也有这种现象,只是没有这么明显罢了.
可能是托管程序刚运行时需要额外的内存,而运行起来以后这部分内存就可以释放了.
Hemee
2006-04-26
打赏
举报
回复
7m是可以理解的,.NET提供的窗体资源比较丰富,内存自然要耗得多一点;还需要有CLR再入后占用的内存(提供多个不同线程来维护应用程序)。当最小化之后,内存占用变少是windows机制,当一个程序处于inactive状态的时候,它的物理内存会被压缩,一部分数据会被缓存到硬盘,实际也就是虚拟内存。
Kshatriya
2006-04-26
打赏
举报
回复
你打算手动释放什么?把窗体的控件都销毁了?呵呵.
Kshatriya
2006-04-26
打赏
举报
回复
7M还算占用内存过大?
代码蜗牛sky
2006-04-26
打赏
举报
回复
这问题已经讨论过很多次了,一直没有实质性的解决方案
yuwen16
2006-04-26
打赏
举报
回复
System.GC.Collect(); 也不能立即释放
System.GC.Collect(2);会释放的快些。
Qim
2006-04-26
打赏
举报
回复
当改变WindowState为Minimized时,系统做了些什么呢?高手指点?
stanly20000
2006-04-26
打赏
举报
回复
我觉得只要内存不涨价,这个帖子可以结了.
卧_槽
2006-04-26
打赏
举报
回复
不知道你的form用来干什么了。
估计是加载的东西过多,Minimized得时候小说明了这点
yr_127
2006-04-26
打赏
举报
回复
System.GC.Collect(); 回收资源
加载更多回复(1)
VS
.NET
2005 C#webprintpreview打印预览控件
在C#
中
,通过利用ASP
.NET
或WinForms的API,开发者可以方便地将这个控件整合进项目
中
,从而提升用户体验。 处理文字信息是`WebPrintPreview`的核心功能之一。它可以展示各种类型的文字信息,包括标题、普通文本和...
DataGridView分页控件标准版VB2008源代码及DataGridView178页详细使用说明
DataGridView控件是
.NET
Framework
中
常用的数据展示组件,尤其在Visual Basic 2008(VB2008)环境
中
,它为开发者提供了强大的数据绑定和交互功能。在大数据量的场景下,为了提高用户体验和系统性能,通常需要实现...
Reflector_jb51_doc.rar
这种反编译过程基于对
.NET
Framework的深入理解和解析,能够准确地还原大部分代码结构,包括类、方法、属性、事件等。在实际开发
中
,反编译可以帮助我们分析开源项目、调试
问题
、研究库的内部实现,甚至在没有源码的...
CLR via C# 第4版.pdf
6. **调试与故障排除**:指导读者如何有效地调试和诊断C#应用程序
中
出现的
问题
。 7. **语言互操作性**:介绍如何让C#程序与其他语言(如C++、VB
.NET
等)编写的代码进行交互。 ### 四、学习资源推荐 1. **官方文档*...
Matlab-EMD工具箱 + 详细安装方法
由Huang等人在1998年提出,它能够将复杂信号分解为一系列
内在
模态函数(IMF)和残余项,便于理解和分析。EMD工具箱是Matlab平台上的一个专门用于执行EMD算法的软件包,适用于科研人员和工程师在处理各种非线性、非...
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章