我用C# (.net 3.5)开发了一个小应用程序,它在系统托盘中运行。基本上,它只是每5分钟检查一次rss-feed,如果自上次检查后有新的feed,它会显示一个气球提示,还会使用.net 3.0/3.5中的文本到语音转换引擎来读取获取到的feed的标题。
它工作得很好,但我注意到在Windows7上运行时需要9-10mb,但在XP上需要39-40mb。我不知道为什么。有人知道这可能是什么吗?
发布于 2010-02-01 19:25:30
也许是因为Windows7在它的一些组件中使用了.net,所以你的进程和系统之间共享了大量内存。
在XP中,所有的.Net程序集都不是由系统的某个进程加载的,因此内存在您的进程中显示为私有。
发布于 2010-02-01 19:39:20
您的读数来自任务管理器中的Mem Usage列吗?然后,您将看到工作集大小。加载到RAM中的应用程序使用的活动内存量。这可能不是您想要比较的内容。尝试最小化您的应用程序。查看Mem使用率是如何显著下降的。这并不意味着一旦最小化内存,应用程序就会使用更少的内存。这意味着Windows认为您不会很快使用该应用程序,并将内存从RAM交换到分页文件。您可能希望查看VM Size列以进行比较。当然,您仍然可以问自己为什么工作集大小不同,但这个问题很难回答。有关不同内存读数的解释,请参阅here。
https://stackoverflow.com/questions/2176257
复制相似问题