4

如果我想创建一个漂亮的小部件以保持在后台运行且内存占用很小,我将从哪里开始构建 Windows 应用程序。它的目标是使更新的项目列表保持在 Web 服务之外。类似于 RSS 阅读器。

注意:数据层将通过 REST 连接,我已经有一个 C# dll,我认为它不会对占用空间产生太大影响。

显然我想使用一个不错的 WPF 项目,但是 ~60,000k 的初始大小太大了。

*C# Forms 应用程序大约是 ~20,000k

*C++ 形式 ~16,000k

*CLR 或 MFC 小得多,小于 5

有没有办法剥离 WPF 或表单?如果我坚持使用 CLR 或 MFC,那么让它变得漂亮的最简单方法是什么。(我在 MFC 的经验是制作非常好的奖励表格)

更新:澄清上述大小是进程运行时使用的内存,而不是可执行文件。

4

4 回答 4

2

关于:

更新:澄清上述大小是进程运行时使用的内存,而不是可执行文件。

好的,当您运行一个小型 C# Win Forms 应用程序时,为其保留的最小 RAM 量约为 2 兆,也许是 4 兆。这只是它创建的一个工作集。它没有积极使用所有这些内存或类似的东西。它只是预先保留了那么多空间,因此它不必在以后根据需要对更多内存进行长/慢/昂贵的请求。

预先保留较小的尺寸可能是错误的优化。

(如果真的很重要,您可以使用 pinvoke 调用来减少工作集。请参阅pinvoke 以了解“设置进程工作集大小”

于 2008-09-17T04:03:56.667 回答
0

如果您打算使用“已经有一个 C# dll”,那么目标计算机上必须已经安装了 .net。

在这种情况下,C# win 表单应用程序不需要接近 20 兆。最小的 hello world 类型 win 格式为 7 KB。

于 2008-09-17T03:41:50.947 回答
0

如果它确实必须尽可能小,请使用纯 C 并直接与 Windows API 对话。

但是,由于由于.NET dll,您无论如何都会加载CLR,所以我会选择不那么痛苦的东西,并且简单地将C# 用于UI。

于 2008-09-17T03:49:22.253 回答
0

为什么不使用 Silverlight?这是一篇关于这样做的文章。

于 2009-10-02T19:18:25.027 回答