我计划创建一个 SDK(涉及大量数据操作),可用于在 Android 上创建应用程序。
我计划开发完整的 SDK,包括 Java 中的库,因为如果我用 native 语言 (C++) 实现我的库,Java 和 native 层之间的数据移动将涉及内存复制,并且会使我的应用程序看起来很慢。
我计划稍后将相同的 SDK 移植到 Windows Mobile 等其他平台。考虑到 SDK 的可移植性和性能,我对在这种情况下更好的编码方法感到有点困惑。
我们将不胜感激。
最佳答案
Windows Mobile 支持 native 代码(Visual C++,请参阅 Getting Started in Developing Applications for Windows Mobile),因此使用 Android NDK 是一个不错的选择。至少你不必从头开始写整个东西。您可以使用 C/C++ 编写通用代码库,而只为 Android 编写 Java 包装器。
如您所知,Windows Phone 7(Windows Mobile 的继任者)使用 C#,无论您在 Android 上采用什么方法,您都需要从头开始重写 SDK。 Windows Phone 7.x 可能在未来的某个时候支持 native 代码 (C/C++),但不会很快。
关于Android 应用程序开发中的 Java 与 native 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6844601/