2012-05-09 67 views

回答

1

简单地说,

Android是一个基于Linux的操作系统,运行Linux内核(Dalvik虚拟机)。它可以比任何基于Java的可执行文件更高效地运行基于C的程序。基于Java的可执行文件很容易构建,但对性能和空间要求很高。

基于C语言的程序被称为本地代码,Dalvik本地代码只不过是编译用于在Dalvik虚拟机中运行的C程序。

在Nativeity和Java应用程序开发者之间为使用JNI(NDK)的android创建了一个桥梁。这使我们能够从基于C的代码中获益更多。

换句话说,Dalvik Native Function表示如果JNI性能被认为是不够的,那么最有可能暴露的API。 Bridge版本用于少量高容量对象调用的优化,通常不应该使用,因为我们可能会在某些时候放弃对它的支持。 Reference

相关问题