永发信息网

C#如何实现释放内存

答案:6  悬赏:80  手机版
解决时间 2021-07-31 04:32

我写的一个几百k的程序,由于背景用了图片。当窗体加载是,一下子内存就用了50多M。当我不使用那个程序大概过了30多分钟,使用内存就降到5M左右。我观察了一些软件都是用20M左右。连暴风影音都是用20来M,而且保持使用内存稳定。

想请问一下,怎样才可以即时释放内存。

最佳答案

很简单的来说,当你一个按钮事件(处理数据比较多的话)处理完毕后,就要释放内存。具体的要看实例。


像下面的都属于释放资源


1、using (SqlDataReader dr = helper.ExcuteSqlReturnReader(sql))


2、if (cmd != null)
{
SqlConnection conn = cmd.Connection;
Debug.Assert(conn != null);
cmd.Dispose();
cmd = null;
conn.Dispose();
}

全部回答

你说的不是释放内存问题,C#应用程序确实占用内存很大,因为是NET,有个中间调用过程。

当我不使用那个程序大概过了30多分钟,使用内存就降到5M左右,是因为windows系统缓存的自动管理,把不常用的DLL会移出内存,不是由你来操作的

Dispose();
先调用Close,然后Dispose();
Dispose();

对象名. .Dispose(); 方法

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
脑劲急转弯o
DNF街霸怎么取消旋风腿?
安装公司营业税怎么算,运输企业所需缴纳的税
梁标注的方法
北京朝阳区小营路怎么走?
耒阳市衡阳耒阳龙鑫电脑科技怎么去啊,谁知道
求经典GALGAME语录
怎么样,可以快速长高?我14岁
是美男啊 里面的最好的歌曲是什么 主题曲是那
A certain basketball team that has played
坐901到飞机场那怎么走~
街球怎么买装备呢?
一汽大众和上海大众有什么不同?
脑壳痛…杂办啊…
苏仙区郴州安仁大米在哪里啊,我有事要去这里
推荐资讯
川汇区周口广电奥斯卡影视城地址在什么地方,
我的手机是三奇牌的型号是.SQ666能下载QQ软件
为什么要打开hao123 ,就会强制关掉一些网页?
江西吉安万合
西工区洛阳103冷饮批发部地址在什么地方,想
在恋爱中,我们应该等待情人的电话,还是主动打
AVA的生存模式的逃脱战怎么玩啊
有1500百元以内的3G上网本么?
我想买只宠物猪,辽宁那有,谁能帮联系下,最
我应不应该放下面子?
谁知道浙江工商大学44幢503寝室的电话(钱江
慈溪浒山镇有两室一卫的房子吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?