2012-05-09 153 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

相關問題