什么是最好的桌面小部件(小占用空间和漂亮的图形)?

时间:2008-09-17 02:38:23

标签: .net c++ wpf .net-3.5

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

注意:数据层将通过REST进行连接,我已经有了C#dll,我认为它不会过多地影响占用空间。

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

* C#表单应用程序约为20,000,000

* C ++ Forms~16,000k

* CLR或MFC小得多,低于5

有没有办法删除WPF或表单?如果我坚持使用CLR或MFC,那将是最简单的方法。 (我在MFC的经历是制作非常奖励形式)

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

4 个答案:

答案 0 :(得分:2)

重新:

  

更新:澄清以上尺寸,   是用作内存的内存   进程运行,而不是可执行文件。

好的,当你运行一个小小的C#Win Forms应用程序时,为它预留的最小RAM大约是2兆,也许是4兆。这只是它创建的一个工作集。它没有主动使用所有这些内存,或类似的东西。它只是预先保留了很多空间,因此它不需要在以后根据需要做更多/慢速/昂贵的更多内存请求。

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

(如果确实很重要,可以通过pinvoke调用减少工作集。请参阅pinvoke for 'set process working set size'

答案 1 :(得分:0)

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

在这种情况下,C#win表单app不需要接近20 meg。最小的hello world类型获胜形式为7千字节。

答案 2 :(得分:0)

如果它必须真的尽可能小,请使用普通C并直接与Windows API通信。

但是,由于.NET dll因为你将要加载CLR,我会选择不那么痛苦的东西,并且只是在用户界面上使用C#。

答案 3 :(得分:0)

为什么不使用Silverlight?这是一个article,它谈到了这样做。