(C#)内存消耗问题!

我写了一个绘图程序,在第一次打开程序时,内存消耗很高,大概27,000KB,但当我最小化之后,内存只用到900KB,在恢复的话是5,000KB.之后再最小化和恢复的话就在... 我写了一个绘图程序,在第一次打开程序时,内存消耗很高,大概27,000KB,但当我最小化之后,内存只用到900KB,在恢复的话是5,000KB.之后再最小化和恢复的话就在900和5,000之间跳动,不再回到27,000KB,请问这是怎么一回事?
最重要的是为什么第一次内存消耗很高?
我看windows自带的图像编辑器也是这样,我想有没有方法把第一次的内存消耗降低。
展开
 我来答
百度网友6eed2f8
2009-12-21 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3804万
展开全部
最小化的时候是因为此时窗体不活动,CLR 把此时不需要使用的数据放到虚拟内存里了,所以看上去内存消耗很小。但如果你查看虚拟内存的话,会发现,它反而会变大的

要想第一次内存就降低,可以在显示(shown事件)的时候先用代码将窗体最小化,然后再恢复正常,这样可以达到你要的效果
经常上网的猫
2009-12-21 · TA获得超过1097个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:625万
展开全部
缓存了呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lussiewang
2009-12-22 · 超过33用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:99.2万
展开全部
这个和CLR的内存管理机制有关
就算你做一个空的窗体,开始启动内存也很多
你最小化后就变少了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老级幸1286
2009-12-22 · TA获得超过511个赞
知道小有建树答主
回答量:756
采纳率:0%
帮助的人:385万
展开全部
因为你在最小化时,所占的资源就释放了。
当然有可能是你内存没有及时的释放。
另一个原因就是,当你在不停的重画时。Graphics.Draw时。
内存就会上升,当上升到一定后,便不会再上升。

最小化时,系统会自动释放其重画产生的资源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式