单声道中的数组分配的内存不释放(C#)

问题描述 投票:1回答:1

在我的C#程序中我有功能,在其中,我创建长度为1000000的字节数组,当执行该功能时,内存显示内存使用量增加1MB。问题出在这里,从函数返回后,在函数中分配的1MB内存不释放,为什么????

c# garbage-collection mono
1个回答
0
投票

垃圾收集器不会立即释放内存但是

当满足下列条件之一时,将发生垃圾收集:

系统物理内存较低。这可以通过OS的低内存通知或主机指示的低内存来检测。

托管堆上已分配对象使用的内存超过可接受的阈值。在该过程运行时不断调整该阈值。

调用GC.Collect方法。几乎在所有情况下,您都不必调用此方法,因为垃圾收集器会持续运行。此方法主要用于独特的情况和测试。

你可以找到更多here

© www.soinside.com 2019 - 2024. All rights reserved.