我即将开始构建一个 Android 应用程序(我目前正在开发 Web 服务和数据库),我想知道使用 Java 或直接编码成 C 或 C++ 之间的应用程序速度是否存在显着差异.
该应用程序不包含任何复杂的图形或物理,其速度主要取决于多个对象与 REST Web 服务之间的传输速度。
提前致谢
谷歌说你可能应该坚持使用 Java:
在下载 NDK 之前,您应该了解 NDK 不会使大多数应用程序受益。作为开发人员,您需要平衡其优点和缺点。值得注意的是,在 Android 上使用本机代码通常不会带来显着的性能提升,但它总是会增加应用程序的复杂性。一般来说,你应该只在它对你的应用程序必不可少的情况下使用 NDK——永远不要因为你只是喜欢用 C/C++ 编程。
NDK 的典型候选对象是独立的、CPU 密集型的操作,它们不会分配太多内存,例如信号处理、物理模拟等。在检查您是否应该使用本机代码进行开发时,请考虑您的需求并查看 Android 框架 API 是否提供了您需要的功能。
我不建议使用 NDK,因为您已经提到您正在从头开始为 android 构建它。谷歌在这里特别指出,由于上述原因,您不应该使用 NDK。
我建议您使用 Java 并通过 Spring for Android 使用您的 REST Web 服务。消费它们太容易了。目前我在 Android Play Store 中有一个已发布的应用程序正在使用它,源代码在 GitHub 中,你可以看看。
祝你好运!