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

相关推荐
nice_lcj5205 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
宝桥南山9 小时前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=010 小时前
C# 中 Lambda、Linq 与 Expression
c#·linq
zhanghaha131411 小时前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
zhanghaha131412 小时前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#
rockey62721 小时前
AScript之LINQ扩展
c#·.net·script·动态脚本
1-1=01 天前
C# 委托与事件
开发语言·c#
1-1=01 天前
C# 特性(Attribute)
c#·.net·.netcore
淡海水2 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
WarPigs2 天前
C#把byte[]以十六进制打印,带分割符
c#