3

我有一个在 Windows XP Embedded 上运行的 .NET 2.0 应用程序。在内存量较低(128Mb 及以下)的设备上,此应用程序的内存消耗存在问题。显然,.NET 不是此类设备的好选择,但我们意识到这一点为时已晚。

我正在考虑以最小的努力减少应用程序的内存占用的方法。我正在考虑将它移植到 .NET Compact Framework,但我不明白我是否能够将我的应用程序转换为它以及它是否有帮助。不幸的是,我之前没有任何使用 CF 的经验,所以我正在就以下问题寻求建议:

是否可以在 Windows XPE 上启动 NETCF 应用程序?看起来 CF 应用程序应该只在 Windows CE 上启动,但我不明白为什么它们不能在常规 Windows 上运行,加上这篇文章:http: //msdn.microsoft.com/en-us/library /aa459170.aspx表明这是可能的,但没有提供太多细节。

在将我的 Windows 窗体应用程序(也具有 Com Interop 功能)移植到 CF 时,我是否会遇到许多兼容性问题?

移植到 CF 是否有助于减少内存占用?目前我看到该应用程序在启动时占用了大约 30 Mb 的内存。任何基本的 winForms 应用程序都占用大约 20 Mb。

也许有更好的解决方案来减少我的应用程序的内存占用(除了用 C++ 和 Win32API 重写所有内容:))

谢谢!

4

1 回答 1

0

Compact Framework 程序集是可重定向的,这意味着如果您构建 CF 应用程序,它可以在完整框架下运行。但是,这并不能真正帮助您 - 它仍然是运行应用程序的完整框架,具有所有完整框架开销。您真正需要的是在您的目标上运行的 Compact Framework 引擎/BCL 版本。那(意味着在桌面操作系统上运行的 CF 构建)不存在。

于 2011-03-29T20:26:26.663 回答