我正在开发一款使用OpenCV进行密集型计算机视觉操作的Android应用。在这一点上,我想知道如果我用C / C ++而不是Java进行视觉处理,我是否能获得更好的性能。该应用程序的其余部分使用Android Studio以Java编写。
我很困惑如何在Android设备上编译和运行C / C ++代码。由于Java应用程序在Android平台上的JVM上运行,我不太了解如何为JVM编译C / C ++代码以及如何运行此代码。
我在想是否编译了C / C ++代码以便它可以在JVM中运行,使用它有什么意义,因为它仍然在VM中运行而不是直接针对设备CPU?
答案 0 :(得分:5)
NDK用于C / C ++编码。它提高了应用程序性能NDK通常适用于许多处理器绑定的应用程序
本机代码(C / C ++)被编译为二进制代码并直接在OS上运行。 Java代码被转换为Java字节代码以在JVM上运行。
您可以使用NDK for programming C / C ++应用程序。您还可以使用QT for andriod来开发C / C ++应用程序