C#中,GDI+使用Bitmap和e.Graphics

比如说:Bitmabitmap;Graphicsg=e.Graphics;然后最后使用完了之后,还要加一个bitmap.Dispose();g.Dispose();这是什... 比如说:Bitma bitmap;Graphics g=e.Graphics;
然后最后使用完了之后,还要加一个bitmap.Dispose();g.Dispose();

这是什么意思
展开
 我来答
百度网友84fe8ec45
2012-08-15 · TA获得超过845个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:485万
展开全部
Bitma bitmap;Graphics g=e.Graphics;

这是对象声明语句,声明完之后会保存在系统内存中以便使用,会占用系统内存。
bitmap.Dispose();g.Dispose();

是释放资源语句,一般是在使用完之后写,意思是在内存中清除这两个对象,把内存清空出来以供,以免点内存。
追问
但是C#中不是有自动清除内存的功能么?为什么还要显示写代码来清除
追答
自动清除分两种方式, 一、自动清除。这种方式是在程序关闭时清除,就是说如果你的软件一直在运行,那么在运行过程中所创建的对象均保存在内存中,直到你到软件关闭。 二、手动清除,就是上面说的这个语句。这种清除方式是在引用这句语句的时候就清除。即立即清除,所以写.Dispose()是一个好习惯。 什么时候用.Dispose呢? 1、创建的对象太大,占资源大 2、在程序运行过程中,一般情况下可能不会重复使用
blakli123
2012-08-16 · TA获得超过272个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:248万
展开全部
释放内存资源,写的话可以快速释放,不写的话可能短时间内内存爆增,过一段时间就自动下降了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式