关于C#循环图片GDI+内存不足异常的记录

发布时间:2017-3-31 8:25:32 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"关于C#循环图片GDI+内存不足异常的记录 ",主要涉及到关于C#循环图片GDI+内存不足异常的记录 方面的内容,对于关于C#循环图片GDI+内存不足异常的记录 感兴趣的同学可以参考一下。

循环大量图片的时候会报出GDI+内存不足的问题,这个问题困扰了我很久,下面是我的几个解决方案:

  1. 使用using(){}代码块来定义需要释放内存的变量。using代码块会在代码结束的时候释放变量,但是并不能彻底解决。
  2. 使用GC.Collect()启动.NET自身的内存回收。但是这里注意,不要所有循环完毕了之后再回收,这样起不到任何效果,要每次循环结尾的时候回收。但是这个仍然不能彻底的解决问题。
  3. 这是最关键的一步!Thread.Sleep(500)。是的,没错,进程暂停一小段时间。这个可以彻底解决内存不足的问题。

好了,这里要说一下为什么进程暂停可以彻底解决这个问题。因为内存释放并是单独的代码,即内存释放和程序代码是同时执行的,也就是异步的。这里需要等待彻底释放之后,再运行其它的代码,所以要暂停一下进程。

上一篇:我是服务的执政官-服务发现和注册工具consul简介
下一篇:SonarQube-5.6.3 代码分析平台搭建使用

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款