c# - 如何最小化Windows中的内存使用

标签 c# .net windows memory-management

我用 C# 编写了一个 hello world 程序(没有任何 UI 的 Windows 应用程序)。发布构建的可执行文件除了 Thread.Sleep(50000)//50 秒外什么都不做。 我打开了 sysinternals(像任务管理器这样的分析器)。这个可执行文件占用了 7MB 内存(私有(private)字节)!! 任何人都可以解释发生了什么以及如何减少内存使用量。 附言我还尝试使用 NGEN 预编译 .exe,但仍然使用相同的内存。

非常感谢

最佳答案

C#(和其他 JIT 编译/解释语言)通常最终会在后台自动为您做很多事情。虽然您编写的内容很简单,但在后台进行了大量工作以支持应用程序的 JIT 特性。

考虑到如今 2GB 的 RAM 相当普遍,7MB 的内存相对较小。除非您做一些不寻常的事情或分配大量数组和数据结构,否则它可能不会再增加。

如果是基于C#WindowsApplication项目类型的Hello World,Program.cs中有一个int main在Windows Form上做一个application.run,那么不仅JIT开销大,而且Windows 窗体的开销也是如此。

一天结束时,我确信一切都很好。

关于c# - 如何最小化Windows中的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5224020/

相关文章:

c# - 数据绑定(bind)到类

c# - 重构这个 : Generic extension method

c# - 使用 .net 监控传入/传出的 http 流量

c# - 如何在WindowsPhone 7 中清除图像缓存。将UriSource 设置为null 不起作用!在 WP7 中清除图像缓存还有哪些其他变体?

c# - 如何检查泛型类型定义是否继承自另一个泛型类型定义

c# - VS 2005 工具箱类控件.NET

用于修改和检索 SQL Azure 数据的 C# .Net 桌面应用程序?

c++ - 如何让我最顶层的窗口保持在最上面?

c - Windows 在 C 中获取屏幕分辨率

Windows 批处理文件 - 连接子目录中的所有文件