2

Android中的Dalvik Bridge Function和Dalvik Native Function call有什么区别?

4

1 回答 1

1

简单来说,

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

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

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

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

于 2012-05-09T06:19:00.223 回答