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 都如此。

相关推荐
zlinear数据采集卡1 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
唐青枫2 小时前
别把 ImmutableArray 当成只读 List:C#.NET 不可变数组深入详解
c#·.net
zlinear数据采集卡5 小时前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
花落人散处8 小时前
CDiskClean 开发历程 —— 文件清理_目录树解析实现方案参考
c#
离陌在学C#9 小时前
C# 泛型:从基础到高级应用
开发语言·c#
Vertira9 小时前
C# 与 OpencvSharp 编程[基础目录]
c#
格林威11 小时前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉
yuhulkjv33519 小时前
Claude表格复制到word不再崩溃,AI导出鸭批量导出+格式无损一键搞定
人工智能·ai·c#·word·ai导出鸭
arbboter1 天前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具