1
我正在使用OpenCV来完成一些密集的计算机视觉操作的Android应用程序。在这一点上,我想知道如果我在C/C++而不是Java中进行视觉处理,是否可以获得更好的性能。应用的其余部分是使用Android Studio以Java编写的。Android应用程序中的C/C++代码如何执行?
我很困惑C/C++代码是如何在Android设备上编译和运行的。由于Java应用程序在Android平台上的JVM上运行,因此我不太了解如何为JVM编译C/C++代码以及如何运行代码。
我在想,如果C/C++代码被编译为可以在JVM中运行,那么使用它的目的是什么?因为它仍然在虚拟机中运行,而不是直接定位到设备CPU?
阅读关于Android NDK - 它允许在android中使用C/C++代码 –
C++代码本身运行。 –
未针对虚拟机编译C++代码。它针对目标设备的CPU架构(通常是ARMv7-a或ARMv8-a)进行编译。 Java部分和应用程序的本地部分可以通过Java本地接口(JNI)进行交互。 – Michael