略坑的C#自动回收机制
说起这个坑货,要说说折腾了好久的bug,项目对方需要在32位系统上使用,C#加载图像扔给C++处理再返回。所以想好了,C#这边加载图像开好内存扔给C++,各自开的内存各自释放。
所以,在32位系统上出问题了,64位的没出现。而周围的同事没有懂C#的,都是懂C/C++的比较多,所以折腾了这么久,一直以为是我C++没写好导致内存不足,还纳闷好奇了好久,用C++调dll都一直没有问题,用C#在64位下调也没有问题,单单就32位会出现内存不足。
然后就阴差阳错的想着把调用C++的函数都屏蔽了再跑,发现占用内存还是止不住的上涨,开始怀疑C#的Bitmap是不是不会自动回收啊,然后查啊查,就发现,是会自动回收的,但是这个自动回收不是立即回收啊,不是作用域内一结束就回收啊,也不是把一个Bitmap对象指向null就会回收啊,而是要调用dispose()函数手动释放内存,然后再指向null啊,不然要等到自动回收内存的机制起作用才会被回收啊!!!!
所以,问题来了,32位系统的程序跑的时候内存是最大只有2G啊,不马上释放掉内存,在GC机制起作用之前,内存会不断上涨,然后就溢出了啊,而64位因为内存大,所以在溢出之前GC机制就起作用啦,内存被回收了,所以没机会溢出啊!!!
所以说,努力的方向不对,你特么就是一坨***。
不作封侯念,
悠然远世纷。
惟应种瓜事,
犹被读书分。
野水多于地,
春山半是云。
吾生嫌已老,
学圃未如君。
略坑的C#自动回收机制的更多相关文章
- Web中线程与IIS线程池自动回收机制
		开发Web项目后,部署到 IIS上 ,运行一直稳定,当Web程序中加入了定时任务,或者线程之类的机制后,第二天发现悲催了,定时任务并没有执行,此时重新登录一下网站,定时任务又重新执行.原来IIS默认有 ... 
- cocos2d-x 添加纹理自动回收机制
		转自:http://www.cnblogs.com/lancidie/archive/2013/04/13/3019375.html 1.不是一个完整的模块,所以不提供完整代码,只提供思路和核心代码. ... 
- Java -- 深入浅出GC自动回收机制
		1,去年开春去美团和58同城面试的时候第一个问题基本上都是来说说 Java GC机制,当时年轻的我也很耿直,直接说不会,现在想想还是当时年轻啊.刚好这段时间被各大论坛的面试题刷屏,见到最多的也是也是这 ... 
- BZOJ-1070  修车    最小费用最大流+拆点+略坑建图
		1070: [SCOI2007]修车 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3624 Solved: 1452 [Submit][Status] ... 
- hdu 1257 LIS (略坑5
		---恢复内容开始--- 最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- SpringMVC拦截器-路径语法-略坑
		项目中遇到一种场景,登录拦截器需要拦截.html后缀等动态请求,但是发现语法不对头. <mvc:interceptors> <mvc:interceptor> ... 
- JVM的内存区域划分以及垃圾回收机制详解
		在我们写Java代码时,大部分情况下是不用关心你New的对象是否被释放掉,或者什么时候被释放掉.因为JVM中有垃圾自动回收机制.在之前的博客中我们聊过Objective-C中的MRC(手动引用计数)以 ... 
- react-native 踩坑记
		最近在使用react-native的时候遇到了很多坑,这里给大家分享下 一.样式 react-native 虽然支持flex布局,但是所有的样式均是css样式的一个很小的集合,尤其是在安卓机下问题尤为 ... 
- [MySQL]使用Begin...End语句的一个坑
		写一个触发器,执行单条语句是OK的. 想执行多条语句,尝试在代码中加入BEGIN END.但一加BEGIN END就报错, 错误信息也很诡异,只说某一行出错了,不符合Mysql的语句规范,提示信息就个 ... 
随机推荐
- Centos7 nginx配置多虚拟主机过程
			一.前提准备 1.已经安装好了的Centos7服务器 2.ip 为192.168.1.209 [本次的配置ip] 3.确定防火墙等已经关闭 二.nignx配置文件参数详解 要配置多台虚拟主机,就需 ... 
- 109、Java中String类之截取部分子字符串
			01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ... 
- MVC PartialView使用
			https://blog.csdn.net/mss359681091/article/details/51181037 
- RadioButton 用法
			@Html.RadioButton("rdoNotice", "1ST", true, new { id = "rdoFirstNotice" ... 
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:按钮被点击
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- jqGrid不支持IE8的解决办法
			参考:https://blog.csdn.net/tarataotao/article/details/10376657 
- less在vscode中的配置方式
			1.在vscode插件中下载easy less这个插件. 2.新建项目,分别建两个文件夹存放less和自动编译好的css,页面中引入文件引css就可以了. 3.根据你的文件位置,在用户设置中设置需要配 ... 
- Jquery实现下拉tab切换
			//需求:分别点击html,css,js元素时展示对应的列表内容,其他列表内容要自动收起来 //代码如下 <!DOCTYPE html> <html lang="en&qu ... 
- django-redis和redis连接
			redis连接 简单连接 import redis r = redis.Redis(host=) r.set('foo', 'Bar') print r.get('foo') 连接池 import r ... 
- STM32学习笔记:创建工程模板
			STM32作为一类高级单片机,在应用中不容小觑. 所以本人从2018年1月1日开始对于STM32系列单片机的学习. 本人所持的型号为:STM32F429ZI-DISCOVERY,M4内核,封装类型为: ... 
