【问题标题】:Building fast Android app - Java or native? [closed]构建快速的 Android 应用程序 - Java 还是本机? [关闭]
【发布时间】:2013-03-06 22:21:42
【问题描述】:

我即将开始构建一个 Android 应用程序(我目前正在开发 Web 服务和数据库),我想知道使用 Java 或直接编码之间的应用程序速度是否存在显着差异C 或 C++。

该应用不包含任何复杂的图形或物理,其速度主要取决于多个对象与 REST Web 服务之间的传输速度。

提前致谢

【问题讨论】:

  • 我建议用 Java 来做,就像 Google 一样。 NDK 的唯一目的是显着简化现有代码库的移植。
  • “它的速度主要取决于几个对象与 REST Web 服务之间的传输速度”——“传输速度”由 Internet 连接决定,与编程语言的速度。
  • 在您必须绑定本机库或分析显示一个热点时使用 Java,在该热点中本机代码的适度速度优势将真正发挥作用。使本机代码变得健壮和正确比 Java 更难,而且更难维护。

标签: java android c++ c


【解决方案1】:

Google says 你可能应该坚持使用 Java:

在下载 NDK 之前,您应该了解 NDK 不会使大多数应用受益。作为开发人员,您需要平衡其优点和缺点。值得注意的是,在 Android 上使用本机代码通常不会带来显着的性能提升,但它总是会增加应用程序的复杂性。一般而言,您应该只在对您的应用程序必不可少的情况下使用 NDK,而不是因为您只是更喜欢使用 C/C++ 编程。

NDK 的典型候选对象是独立的、CPU 密集型操作,它们不会分配太多内存,例如信号处理、物理模拟等。在检查您是否应该使用本机代码进行开发时,请考虑您的需求并查看 Android 框架 API 是否提供了您需要的功能。

【讨论】:

    【解决方案2】:

    我不建议使用 NDK,因为您已经提到您正在为 android 从头开始​​构建它。 Google 明确表示 here 出于上述原因,您不应该使用 NDK。

    【讨论】:

      【解决方案3】:

      我建议您使用 Java 并通过 Spring for Android 使用您的 REST Web 服务。消费它们太容易了。目前我在 Android Play Store 有一个已发布的应用程序使用它,源代码在 GitHub 中,你可以看看。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-21
        • 2016-12-20
        • 2014-11-17
        • 1970-01-01
        • 2013-01-04
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多