我用 C# (.net 3.5) 开发了一个在系统托盘中运行的小应用程序。基本上它只是每 5 分钟检查一次 rss-feed,如果自上次检查后有新的 feed,它会显示一个气球提示,并且还使用 .net 3.0/3.5 中的文本到语音引擎来阅读标题获取的提要。
它运行良好,但我注意到在 Windows7 上运行时大约需要 9-10mb,但在 XP 中需要 39-40mb。我不知道为什么。有人知道这可能是什么吗?
我用 C# (.net 3.5) 开发了一个在系统托盘中运行的小应用程序。基本上它只是每 5 分钟检查一次 rss-feed,如果自上次检查后有新的 feed,它会显示一个气球提示,并且还使用 .net 3.0/3.5 中的文本到语音引擎来阅读标题获取的提要。
它运行良好,但我注意到在 Windows7 上运行时大约需要 9-10mb,但在 XP 中需要 39-40mb。我不知道为什么。有人知道这可能是什么吗?
可能是因为 Windows 7 在其某些组件中使用了 .net,因此您的进程和系统之间共享了大量内存。
在 XP 中,所有 .Net 程序集都不会被系统的某个进程加载,因此内存在您的进程中显示为私有。
您的读数是否来自任务管理器中的“内存使用”列?然后您正在查看工作集大小。加载到 RAM 中的应用程序使用的活动内存量。这可能不是您想要比较的。尝试最小化您的应用程序。看看 Mem Usage 是如何显着下降的。这并不意味着一旦您将其最小化,应用程序就会使用更少的内存。这意味着 Windows 认为您不会很快使用该应用程序并将内存从 RAM 交换到页面文件。您可能需要查看 VM 大小列进行比较。当然,您仍然可以问自己为什么工作集大小不同的问题,但这个问题很难回答。另请参阅此处了解不同内存读数的说明。