C# VS内存释放,Image?.Dispose() 后内存不能及时回收

C# WinForm 程序中 pictureBox 连续性的加载图像 涉及到 Image, Bitmap, Cv2.Mat . 并使用 Image.Dispose() 释放内存。但系统不能及时回收内存,导致内存溢出。

private void free_member()
{
    backImg?.Dispose();
    foreImg?.Dispose();
    background?.Dispose();
    foregroundImg?.Dispose();
    M_maskImg?.Dispose();
    huancun?.Dispose();

    GC.Collect();
    GC.WaitForPendingFinalizers();
}

请注意:

        GC.Collect();
        GC.WaitForPendingFinalizers();

在遇到大量释放内存时,可以强制系统回收内存,挂起所有线程,等内存回收完毕。此时可做到及时释放并回收内存。不然系统自己回收内存不及时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值