2
Android中的Dalvik Bridge Function和Dalvik Native Function调用有什么区别?Dalvik Bridge函数和Dalvik Native函数调用之间的区别?
Android中的Dalvik Bridge Function和Dalvik Native Function调用有什么区别?Dalvik Bridge函数和Dalvik Native函数调用之间的区别?
简单地说,
Android是一个基于Linux的操作系统,运行Linux内核(Dalvik虚拟机)。它可以比任何基于Java的可执行文件更高效地运行基于C的程序。基于Java的可执行文件很容易构建,但对性能和空间要求很高。
基于C语言的程序被称为本地代码,Dalvik本地代码只不过是编译用于在Dalvik虚拟机中运行的C程序。
在Nativeity和Java应用程序开发者之间为使用JNI(NDK)的android创建了一个桥梁。这使我们能够从基于C的代码中获益更多。
换句话说,Dalvik Native Function表示如果JNI性能被认为是不够的,那么最有可能暴露的API。 Bridge版本用于少量高容量对象调用的优化,通常不应该使用,因为我们可能会在某些时候放弃对它的支持。 Reference