2011-03-29 35 views
3

我有一個在Windows XP Embedded上運行的.NET 2.0應用程序。在具有少量內存(128Mb或更少)的設備上,本應用程序的內存消耗有問題。很明顯,.NET對於這樣的設備並不是一個好的選擇,但是我們爲時太晚而無法意識到這一點。Windows XPE上的.NET壓縮框架

我正在考慮如何以最小的努力減少應用程序的內存佔用量。我正在考慮將它移植到.NET Compact Framework,我無法理解是否可以將我的應用程序轉換爲它,以及它是否有幫助。不幸的是,我沒有任何CF的經驗,所以我正在尋找以下問題的建議:

是否可以在Windows XPE上啓動NETCF應用程序?它看起來像CF應用程序應該只在Windows CE上啓動,但我不明白爲什麼他們不會在常規窗口上運行,加上本文:http://msdn.microsoft.com/en-us/library/aa459170.aspx表明它是可能的,但沒有給出很多細節。

我是否期望在將我的Windows Forms應用程序(也具有Com Interop功能)移植到CF時遇到許多兼容性問題?

將移植到CF有助於減少內存佔用?目前我看到,該應用程序在啓動時佔用大約30 Mb的內存。任何基本的WinForms應用程序佔用大約20 Mb。

也許有減少我的應用程序的內存佔用更好的解決方案(除了用C重寫一切++和Win32API的:))

謝謝!

回答

0

精簡框架程序集是可重定目標的,這意味着如果您構建一個CF應用程序,它可以在完整框架下運行。然而,這並不能真正幫助你 - 它仍然是運行應用程序的完整框架,所有完整的框架開銷。您真正需要的是在您的目標上運行的Compact Framework引擎/ BCL本身的一個版本。這(意味着在桌面操作系統上運行的CF版本)不存在。

+0

ctacke,謝謝你的回答!我是否理解,有沒有可靠的方法來調整桌面操作系統的框架來減少內存開銷? – Corvin 2011-03-30 10:43:27