Android:Java、C还是C++?

2022-09-01 09:46:29

我用Java在Android中写了一些简单的应用程序。
但后来我发现了这个:

它提供了标头和库,允许您在以 C 语言或C++进行编程时构建活动、处理用户输入、使用硬件传感器、访问应用程序资源等。(来源)

它与此有何关系:

Android 应用程序是用 Java 编程语言编写的。(来源)

这三种语言都可行吗?
很抱歉这个愚蠢的问题。


答案 1

您链接到的文章具有良好的信息。它还链接到 http://developer.android.com/sdk/ndk/overview.html 其中说:

NDK 不会使大多数应用程序受益。作为开发人员,您需要平衡其优点与缺点;值得注意的是,使用本机代码不会导致性能自动提高,但总是会增加应用程序的复杂性。通常,仅当本机代码对应用程序至关重要时才应使用本机代码,而不仅仅是因为您更喜欢使用 C/C++进行编程。

NDK 的典型候选操作是独立的 CPU 密集型操作,这些操作不会分配太多内存,例如信号处理、物理模拟等。简单地重新编码一个方法以在C中运行通常不会导致性能的大幅提高。在检查是否应该使用本机代码进行开发时,请考虑您的要求,并查看 Android 框架 API 是否提供了所需的功能。但是,NDK 可以成为重用现有 C/C++代码的大型语料库的有效方法。


答案 2

Android是Linux,所以你可以在它上面运行任何语言。我在Android手机上运行Perl脚本是为了好玩。从实际的应用程序开发角度来看,Google在Dalvik上运行的Java的实现将是典型的选择。


推荐