如果我想创建一个漂亮的小部件以在后台运行并且内存占用很少,那么我将在哪里开始构建
Windows应用程序.它的目标是保持Web服务的更新项目列表.类似于RSS阅读器.
注意:数据层将通过REST进行连接,我已经有了一个C#dll,我认为它不会太多地影响占用空间.
显然我想使用一个不错的WPF项目,但是~60,000k的初始大小太大了.
* C#表单应用程序约为20,000K
* C形式~16,000k
* CLR或MFC小得多,低于5
有没有办法剥离WPF或表格?如果我坚持使用CLR或MFC,那将是最简单的方法. (我在MFC的经历是制作非常奖励形式)
更新:说明上述大小是运行进程时使用的内存,而不是可执行文件.
最佳答案 回覆:
Update: Clarification The above sizes,
are the memory being used as the
process is ran, not the executable.
好的,当您运行一个小型的C#Win Forms应用程序时,为其预留的最小RAM量约为2兆,可能是4兆.这只是它创建的一个工作集.它没有主动使用所有这些内存,或类似的东西.它只是预先保留了很多空间,因此它不需要在以后根据需要做更多/慢速/昂贵的更多内存请求.
预先保留较小的尺寸可能是错误的优化.
(如果确实很重要,可以通过pinvoke调用来减少工作集.请参阅pinvoke for ‘set process working set size’)