当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/147159.html

相关文章:

  • 力扣2. 两数相加
  • 无涯教程-Android Intent Standard Extra Data函数
  • STM32 CAN 波特率计算分析
  • 每日后端面试5题 第十天
  • 荷兰国旗问题之快速分组
  • 只允许程序单实例运行
  • 巨人互动|Facebook海外户Facebook游戏全球发布实用策略
  • 【Java架构-版本控制】-Git进阶
  • 业务需要咨询?开发遇到 bug 想反馈?开发者在线提单功能上线!
  • MybatisPlus插件篇—逻辑删除+p6spy
  • Android studio中EditText设置默认值
  • 《Java面向对象程序设计》学习笔记——第 13 章 泛型与集合框架
  • python进阶--魔法方法之类的表示
  • JVM 创建对象时分配内存的几种方法、分配方法的选择
  • 08-Vue基础之组件
  • Kotlin学习之密封类
  • opencv鼠标事件函数setMouseCallback()详解
  • 硬件知识积累 USB 接口 type - A type - B type - C 的介绍与功能说明 (简单介绍)
  • 【LeetCode】290. 单词规律
  • 研磨设计模式day12迭代器模式
  • Python3不支持sqlite3的解决方法
  • Qt应用开发(基础篇)——消息对话框 QMessageBox
  • ETC reset
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao
  • MariaDB数据库服务器
  • Nat. Mach. Intell 2023 | DrugBAN+:域自适应的可解释双线性插值网络改进药物-靶标预测(DTI)
  • org.springframework.web.reactive.function.server.ServerResponse设置响应头
  • 高频面试题:如何分别用三种姿势实现三个线程交替打印0到100
  • 【git】Idea撤回本地分支、或远程分支提交记录的各种实际场景操作步骤
  • FPGA SPI 驱动程序