HOperatorSet.Connection 有内存泄漏或缓存

开发环境

Win7 VS2002 halcon12, 直接运行Debug的exe

宽高5000,单格1*1的棋盘占用内存

手动释放region regionConnect

private void butTemp_Click(object sender, EventArgs e)

{

butTemp.Enabled = false;

HOperatorSet.SetSystem("clip_region", "false");

{

HObject region;

HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

HObject regionConnect;

HOperatorSet.Connection(region, out regionConnect);

region.Dispose();

regionConnect.Dispose();

}

butTemp.Enabled = true;

}

大约占用200M,两者的顺序不影响结果。

都不释放

private void butTemp_Click(object sender, EventArgs e)

{

butTemp.Enabled = false;

HOperatorSet.SetSystem("clip_region", "false");

{

HObject region;

HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

HObject regionConnect;

HOperatorSet.Connection(region, out regionConnect);

//region.Dispose();

//regionConnect.Dispose();

}

butTemp.Enabled = true;

}

大约占350M

只释放region

private void butTemp_Click(object sender, EventArgs e)

{

butTemp.Enabled = false;

HOperatorSet.SetSystem("clip_region", "false");

{

HObject region;

HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

HObject regionConnect;

HOperatorSet.Connection(region, out regionConnect);

region.Dispose();

//regionConnect.Dispose();

}

butTemp.Enabled = true;

}

大约占用200M

只释放regionConnect

private void butTemp_Click(object sender, EventArgs e)

{

butTemp.Enabled = false;

HOperatorSet.SetSystem("clip_region", "false");

{

HObject region;

HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

HObject regionConnect;

HOperatorSet.Connection(region, out regionConnect);

// region.Dispose();

regionConnect.Dispose();

}

大约占用200M

其它版本

换了halcol18 halcon12的 debug release都如此。

先释放regionConnect和先释放region 都如此。

相关推荐
雪豹阿伟5 小时前
9.C# —— string拓展方法、StringBuilder高性能处理
c#·上位机
李星星_Alex6 小时前
如何通过 C# 抓取抖音 RTMP 推流码实现自主推流
c#·抖音
qq7422349849 小时前
全面深入的C#核心知识体系与编程实践精要——从语法基础到高级特性系统学习指南
java·算法·c#
fai厅的秃头姐!11 小时前
2586. 统计范围内的元音字符串数
开发语言·c#
正运动技术11 小时前
C#运动控制开源(二): CAD导图和小线段速度前瞻优化
c#·正运动技术·运动控制器·运动控制卡·正运动控制器·运动控制开源·ethercat运动控制器
楼田莉子11 小时前
C#学习:分支与循环
服务器·后端·学习·c#
还是叫明12 小时前
C#使用YOLO26进行图像识别(目标检测)
opencv·yolo·目标检测·c#
魔法阵维护师13 小时前
从零开发游戏需要学习的c#模块,第二十三章(粒子效果 —— 让游戏“活”起来本课目标)
学习·游戏·c#
魔法阵维护师13 小时前
从零开发游戏需要学习的c#模块,第二十二章(音效与背景音乐)
学习·游戏·c#
魔法阵维护师1 天前
从零开发游戏需要学习的c#模块,第十六章(安装 MonoGame 并创建第一个窗口)
学习·游戏·c#·monogame