Dalvik Bridge功能和Dalvik Native Function呼叫之间的区别?

时间:2012-05-09 04:41:06

标签: java android

Android中的Dalvik Bridge Function与Dalvik Native Function调用有什么区别?

1 个答案:

答案 0 :(得分:1)

简单来说,

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

基于C语言的程序称为本机代码,Dalvik Native代码只是编译为在Dalvik VM中运行的C程序。

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

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