2011-03-29 37 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