c# - 位图是某种系统资源吗?

标签 c# image

<分区>

Possible Duplicate:
When is Dispose necessary?
.Net and Bitmap not automatically disposed by GC when there is no memory left

经过一轮摸索后,我终于发现我的罪魁祸首是在调整大小操作中重新分配一个 Bitmap 对象。在足够的重新分配之后,系统退出尝试绘制位图(没有调用 Paint 事件)并且变得非常不稳定。

在分配新位图之前处理旧位图修复它。

这表示必须通过孤立那些旧位图来耗尽一些底层资源(不仅仅是内存)。

我认为位图只是我可以留给垃圾收集器的内存块。怎么回事??

最佳答案

MSDN 指出 Bitmap 封装了一个 GDI+ 对象。所以我希望您在不再需要这些系统资源时必须调用 Dispose() 来释放它们。

编辑:位图是图像的子类,适用以下 MSDN 声明

Always call Dispose before you release your last reference to the Image. Otherwise, the resources it is using will not be freed until the garbage collector calls the Image object's Finalize method.

关于c# - 位图是某种系统资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12594978/

相关文章:

c# - 在通用存储库模式中使用可用的方法语法

android - 下载外部 PNG 图像时丢失透明背景

php - 使用 php 和 GD 打印高质量图像

c# - 扩展方法解析 IQueryable 与 IEnumerable

C#/Java/Ruby - 密码哈希算法 - 跨语言/平台

c# - 无法将类型 'System.Linq.IQueryable<int>' 隐式转换为 'int?'

java - 如何使用图像创建 XFDF 注释

iphone - iPhone应用程式当机(Jettisoned)问题

Android Twitter获取个人资料图片大小问题

c# - 如何避免从构造函数调用长操作