22

我是 Android NDK 的新手。我想知道原生代码在 Android 中有什么好处。它是如何提高性能的,它在 Android 中在哪里使用(本机代码)?

4

2 回答 2

18

NDK 允许您使用 C/C++ 编写代码,然后将其链接到您的 Java 应用程序中。您可以潜在地提高应用程序的速度。但是,关于Replica Island可能值得一读,因为它们不使用 NDK,但可以实现非常快的帧速率。

NDK 的缺点是,它只能编译到特定的 CPU(而留在 Java 领域意味着它可以在任何目标版本的 Android 上运行)。

于 2010-06-18T10:32:43.917 回答
9

Droid,您可以使用本机代码来优化您的应用程序的速度。特别是当您的代码中使用位/字节操作时,例如当您需要对图像文件进行压缩/解压缩等时。

本机 C 代码将使用底层操作系统 (linux) 的 API(系统调用),因此比必须通过 JVM 解释 Java 代码时要快得多。

此外,可以使用本机 C 代码,使用 malloc() 分配大内存(甚至达到 25-30MB!)。在应用程序范围内通过 java 编码时,这是不可能的。

大多数游戏使用原生 C 代码库来处理 2D / 3d 图形、输入、声音等...

如果您刚开始使用 NDK,请查看以下链接以获取带有屏幕截图的简单教程:http: //mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/

于 2011-03-18T04:19:38.613 回答