2008-09-17 75 views
3

如果我想要創建一個漂亮的外觀小部件,以保持在小內​​存佔用的背景下運行,我會在哪裏開始構建Windows應用程序。它的目標是保持Web服務項目的更新列表。類似於RSS閱讀器。什麼是最適合桌面小部件(小尺寸和漂亮的圖形)?

注意:數據層將通過REST連接,我已經有一個C#的dll,我假設不會太多影響足跡。

顯然我想用一個很好的WPF項目,但是~60,000k的初始大小太大了。

* C#形式應用是約〜20,000K

* C++形式〜16,000k

* CLR或MFC小得多,下5

有一種方法來剝離下來的WPF或形式?如果我堅持使用CLR或MFC,最簡單的方法是讓它變得漂亮。 (我的MFC使用經驗非常多)

更新:說明以上尺寸是正在運行的進程使用的內存,而不是可執行文件。

+1

「非常獎勵形式」還是「非常尷尬的形式」? – tzot 2008-09-30 13:21:32

回答

2

重新:

更新:澄清的上述尺寸, 是被用作 過程是RAN,而不是可執行的存儲器。

好的,當你運行一個微小的C#Win Forms應用程序時,爲它保留的最小內存量大概是2兆,也許是4兆。這只是它創建的一個工作集。它並沒有積極地使用所有這些內存,或者任何類似的內存。它只是預先保留了很多空間,所以在需要的時候,不需要做更多/更慢的內存。

預先保留較小的尺寸很可能是錯誤的優化。

(可以減少工作集用的PInvoke調用,如果它真的很重要。看pinvoke for 'set process working set size'

0

如果你「已經有一個C#的DLL」,你打算使用,那麼必須有.net已經安裝在目標機器上。

在這種情況下,C#win窗體應用程序不需要20 meg附近的任何地方。最小的你好世界類型的勝利形式將是7千字節。

0

如果它必須儘可能小,請使用plain C並直接與Windows API交談。

但是,由於.NET DLL會反過來加載CLR,因此我會選擇一些不那麼痛苦的方法,並簡單地將C#用於UI。

0

爲什麼不使用Silverlight?這是一個article,談論如何做到這一點。