设为首页收藏本站
授权版本:2024_07
开启左侧

[C#] halcon内存泄漏怎么解决

[复制链接]
视觉工程师  发表于 2023-9-15 15:41:44 |阅读模式
halcon导出的C#代码用C#封装后,调用出现内存泄漏怎么解决
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-9-15 15:54:03 | 显示全部楼层
每个声明使用后的变量(句柄需要先clear)记得.Dispose();
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
视觉工程师  发表于 2023-9-15 16:17:58
Criss 发表于 2023-9-15 15:54
每个声明使用后的变量(句柄需要先clear)记得.Dispose();

也进行dispose了,内存会再一段时间(10-20分钟)后增长12MB,大概一张图片的大小,也是很无语了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-9-15 16:33:32 | 显示全部楼层
多情剑客无情剑 发表于 2023-9-15 16:17
也进行dispose了,内存会再一段时间(10-20分钟)后增长12MB,大概一张图片的大小,也是很无语了 ...

图像采集一般容易出现泄露的就是回调函数里面,收到图像后拷贝数据以及释放这里,包括图像传送到处理线程之后是否最后被释放了等容易忽视的地方?
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Ggg3434 发表于 2023-9-18 08:54:30 | 显示全部楼层
之前我试的时候也是内存泄露, 很大概率是你有一个函数的输入输出使用相同变量,这样会导致无法释放完全
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
新凉无处暑 发表于 2023-9-19 09:44:54 | 显示全部楼层
本帖最后由 新凉无处暑 于 2023-9-19 09:46 编辑

上楼说的对,你用Halcon导出的代码的话里面应该都释放了。你传入的HImage对象,方法结束时要手动dispose!
重点:halcon的对象全是非托管的,必须手动释放

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表