gpt4 book ai didi

android - C++适合Android开发吗?

转载 作者:行者123 更新时间:2023-11-28 00:18:15 25 4
gpt4 key购买 nike

例如,我想创建一个基于 GPS 的简单应用程序,包括制作航路点、在 map 上显示它们等。那么,是否可以仅使用 C++ 来制作这样的应用程序,而无需任何 Java 源代码?它会比在 Java 上做同样的事情更难吗?

最佳答案

So, is it possible to make such an app using C++ only, without any Java sources?

没有。如果您想接收 GPS 坐标,没有任何 Java 代码是无法做到这一点的。

可以编写一个应用程序,其中将 Java 用作 native 代码的精简包装器,使用 JNI 在 Java 和 C++ 之间交换数据。然而……

Would it be more difficult than making the same on Java?

是的!此外,该应用可能最终是:

  • 慢一些。
  • 麻烦。
  • 更难理解和维护。

对于 Android 开发,Java 只是自然的、正常的、默认的语言,而 C++ 用于执行奇特的特殊任务,通常是那些涉及真正密集计算的任务。您在需要时使用它,而不是因为您“不想”用 Java 编写或因为“Java 很慢”。

编写正确的 JNI 代码也并非易事。例如,如果您不阅读文档,很容易将局部引用和全局引用弄错,因为编译器无法检测到它们的错误用法。

作为 official documentation of the Android Native Development Kit说:

Before downloading the NDK, you should understand that the NDK will not benefit most apps. As a developer, you need to balance its benefits against its drawbacks. Notably, using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity. In general, you should only use the NDK if it is essential to your app—never because you simply prefer to program in C/C++.

它还说:

You cannot access features such as Services and Content Providers natively, so if you want to use them or any other framework API, you can still write JNI code to do so.

关于android - C++适合Android开发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28906516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com