开发环境
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 都如此。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~