从 C# 和单声道启动进程时内存不足

Out of memory when starting process from c# and mono

我正在使用安装了 Debian 的嵌入式 linux 开发板 (Atmel AT91SAM)。有一个单声道应用程序 运行,它通过调用 cat 并通过 bash。一段时间后,我得到一个“内存不足”异常并且输出没有设置一段时间,在它之后 "recovers itself" 几秒钟后。

您可以尝试通过直接使用 libc 的 system.

来跳过进程 Class 和与其关联的任何内存 management/garbage 集合

在您定义 OnTimer1Event 方法的 Class 中,将定义添加到 system:

   [DllImport ("libc")]
   private static extern int system (string exec);

那么您可以:

private void OnTimer1Event(object source, ElapsedEventArgs e)
{
        alternateBlinkTimer1.Stop();
        alternateBlinkTimer2.Start();
        system("echo 1 > /sys/class/gpio/pioC10/value\");
}