开启左侧

C#联合halcon写的软件内存增加很快

[复制链接]
xixiyinhang 发表于 2018-12-6 22:51:24 | 显示全部楼层 |阅读模式
本帖最后由 xixiyinhang 于 2018-12-10 16:43 编辑

我写的软件内存增加很快,每次增加四五十M,跑十几遍就崩溃了,这怎么找出来原意呢?
Criss 发表于 2018-12-7 13:28:19 | 显示全部楼层
分配的图形变量用完记得释放掉,否则会越来越多占用内存,一般new的对象最后用完都要释放!
AfterSunset 发表于 2018-12-7 16:00:52 | 显示全部楼层
这两天刚好碰到个类似问题,一般来说C#申请的内存都会自己释放。
检查一下是不是用到过C++的库,我的问题就是,调用C++库采集图像,而图像内存没有释放掉。每次运行就增加内存。。。
 楼主| xixiyinhang 发表于 2018-12-8 10:05:02 | 显示全部楼层
Criss 发表于 2018-12-7 13:28
分配的图形变量用完记得释放掉,否则会越来越多占用内存,一般new的对象最后用完都要释放! ...

暂时还没搞清楚,打算一步一步重新分析下了
风景你好 发表于 2018-12-8 16:56:14 | 显示全部楼层
使用GC强制垃圾回收试一试
zoomhan 发表于 2018-12-10 09:20:40 | 显示全部楼层

测量后要关闭及清除  1.close_measure  2.clear_all_component_models()   这样就OK了。

measure_pairs (Right_Image, MeasureHandle4_2, 10, 40, 'all', 'all', RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)
                                close_measure (MeasureHandle4_2)
clear_all_component_models()     
        *clear_all_component_models — すべての部品モデルのメモリを解放する
        close_all_measures ()
        *close_all_measures — 計測オブジェクトをすべて削除する。  
 楼主| xixiyinhang 发表于 2018-12-10 10:18:16 | 显示全部楼层
风景你好 发表于 2018-12-8 16:56
使用GC强制垃圾回收试一试

嗯,我试试,看效果行不行
 楼主| xixiyinhang 发表于 2018-12-10 10:18:41 | 显示全部楼层
zoomhan 发表于 2018-12-10 09:20
测量后要关闭及清除  1.close_measure  2.clear_all_component_models()   这样就OK了。

measure_pairs ( ...

已经清除了,不行{:1_334:}
 楼主| xixiyinhang 发表于 2018-12-10 16:42:30 | 显示全部楼层
问题已经找到了,定义的变量字段没有释放,释放后就解决了。
美琴小学生 发表于 2021-11-2 15:40:41 | 显示全部楼层
xixiyinhang 发表于 2018-12-10 16:42
问题已经找到了,定义的变量字段没有释放,释放后就解决了。

是HTuple吗?还是匹配那些句柄?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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