c#启动lnk快捷方式的内存使用情况

本文关键字:用情 情况 内存 启动 lnk 快捷方式 | 更新日期: 2023-09-27 18:29:42

我正试图弄清楚在这种情况下是否应该担心内存使用。我想在c#应用程序中启动许多"lnk"快捷方式。我想知道为什么我看到启动lnk文件和启动exe文件之间的内存使用差异:

Process proc = new Process();
for (int i = 0; i < 20; i++) 
{
  proc.StartInfo.FileName = "c:''somefolder''shortcut.lnk"; //vs "c:''somefolder''someapp.exe"
  proc.Start();
}

主c程序启动的每个快捷方式使用大约500千字节。即使在"快捷方式启动"应用程序关闭后,这个内存似乎也永远不会被释放。

我尝试过执行proc.close()或proc.dispose(),并强制运行垃圾收集器来查看会发生什么。我所做的一切都不会改变"快捷方式启动"的内存使用情况。

相比之下,当我直接启动可执行文件时,主程序似乎不会在启动的每个进程中使用更多的内存。

c#启动lnk快捷方式的内存使用情况

相比之下,当我直接启动可执行文件时,主程序似乎不会在启动的每个进程中使用更多的内存

快捷方式本身并不是什么。它只是指向主可执行文件的指针。因此,假设/声称从快捷方式运行会占用更多内存是不可能的。

主c程序启动的每个快捷方式使用大约500千字节。即使在"快捷方式启动"应用程序关闭后,这个内存似乎也永远不会被释放。

如果你认为这个过程没有释放内存,你可以在使用时使用它

using (Process proc = new Process())
{
     proc.StartInfo.FileName = "c:''somefolder''shortcut.lnk";
     proc.Start();
}