【问题标题】:Memory Not Release for Array asignment in Mono (C#)Mono (C#) 中的数组分配内存未释放
【发布时间】:2018-09-12 12:06:07
【问题描述】:

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

【问题讨论】:

    标签: c# garbage-collection mono


    【解决方案1】:

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

    当下列条件之一为真时发生垃圾收集:

    系统的物理内存不足。这可以通过来自操作系统的内存不足通知或主机指示的内存不足来检测。

    托管堆上分配的对象使用的内存超过了可接受的阈值。此阈值会随着进程的运行不断调整。

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

    您可以找到更多here

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      • 2022-10-13
      相关资源
      最近更新 更多