C#中,GDI+使用Bitmap和e.Graphics
答案:2 悬赏:0
解决时间 2021-01-29 09:36
- 提问者网友:眉目添风霜
- 2021-01-28 20:17
C#中,GDI+使用Bitmap和e.Graphics
最佳答案
- 二级知识专家网友:你可爱的野爹
- 2021-01-28 20:52
Bitma bitmap;Graphics g=e.Graphics;
这是对象声明语句,声明完之后会保存在系统内存中以便使用,会占用系统内存。
bitmap.Dispose();g.Dispose();
是释放资源语句,一般是在使用完之后写,意思是在内存中清除这两个对象,把内存清空出来以供,以免点内存。
追问:但是C#中不是有自动清除内存的功能么?为什么还要显示写代码来清除
追答:自动清除分两种方式, 一、自动清除。这种方式是在程序关闭时清除,就是说如果你的软件一直在运行,那么在运行过程中所创建的对象均保存在内存中,直到你到软件关闭。 二、手动清除,就是上面说的这个语句。这种清除方式是在引用这句语句的时候就清除。即立即清除,所以写.Dispose()是一个好习惯。 什么时候用.Dispose呢? 1、创建的对象太大,占资源大 2、在程序运行过程中,一般情况下可能不会重复使用
这是对象声明语句,声明完之后会保存在系统内存中以便使用,会占用系统内存。
bitmap.Dispose();g.Dispose();
是释放资源语句,一般是在使用完之后写,意思是在内存中清除这两个对象,把内存清空出来以供,以免点内存。
追问:但是C#中不是有自动清除内存的功能么?为什么还要显示写代码来清除
追答:自动清除分两种方式, 一、自动清除。这种方式是在程序关闭时清除,就是说如果你的软件一直在运行,那么在运行过程中所创建的对象均保存在内存中,直到你到软件关闭。 二、手动清除,就是上面说的这个语句。这种清除方式是在引用这句语句的时候就清除。即立即清除,所以写.Dispose()是一个好习惯。 什么时候用.Dispose呢? 1、创建的对象太大,占资源大 2、在程序运行过程中,一般情况下可能不会重复使用
全部回答
- 1楼网友:傲气稳了全场
- 2021-01-28 21:24
释放内存资源,写的话可以快速释放,不写的话可能短时间内内存爆增,过一段时间就自动下降了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯