C# 2k8 减少内存使用(简单的应用程序需要 10 MB)

标签 c# visual-studio-2008 optimization memory-management

我有一个简单的 C# 2008 应用程序,它显示 png 图片并处理一些简单的 MouseEvents。

虽然它并不复杂,但它至少使用 9.5-10 MB 的内存(如任务管理器中所示)

我已经禁用了任何类型的错误记录,并删除了调试和跟踪符号。 “优化代码”已激活。

有什么办法可以减少这种情况吗?也许有一些选项作为框架的 native 编译(这是否存在于 .NET 中?)

有什么想法吗?或者这只是我拥有 .NET-Framework 必须付出的代价吗?

编辑:我知道 10 MB 并不多。但它将在 Citrix Presentation Server(或现在称为 XenApp)上运行,这意味着一台服务器上大约有 30 个用户。 30 个用户 * 10 MB = 300 MB 仅用于这个小应用程序。

提前致谢并致以最诚挚的问候

最佳答案

无论您做什么,都必须在此过程中加载 CLR。 10MB 内存不算太多,而且 10MB 并非全部都是私有(private)内存(可能大部分是可共享的)。顺便说一句,这不像“如果您的简单应用程序占用 10MB,使其复杂(内存方面)的两倍将需要两倍的内存(基本上,它是 CLR 的内存占用量。)

我刚刚构建了一个简单的控制台应用程序 (for(;;);)。 “资源监视器”显示它需要~2.5MB 私有(private)内存和~7MB 共享内存。

关于C# 2k8 减少内存使用(简单的应用程序需要 10 MB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1336056/

相关文章:

c++ - 如何让 IOStream 表现更好?

python - 使用 Numpy 进行高效求和面积表计算

python - 快速将 id 分配给给定的位组合

c# - Windows Phone 8.1 中的 WriteableBitmap.Pixels

c# - unity随机改变图像

c# - Stream.Dispose 是否总是调用 Stream.Close(和 Stream.Flush)

c# - 在 C# 中使用正则表达式返回包含匹配项的整行

sql-server-2008 - 创建包含正确查找表值的数据生成计划

visual-studio - 如何扩展项目属性页面?

visual-studio-2008 - 缺少 cxcore110d.dll?