驍龍?zhí)幚砥餍阅芘判?jni和ndk的區(qū)別?
jni和ndk的區(qū)別?區(qū)別如下:JNI是Java調(diào)用本機機制,這是Java語言本身的特性。它也可以被稱為微軟的基本.Net調(diào)用C/capi,因此JNI與Android無關(guān)。在PC上開發(fā)Java應(yīng)用程序
jni和ndk的區(qū)別?
區(qū)別如下:
JNI是Java調(diào)用本機機制,這是Java語言本身的特性。它也可以被稱為微軟的基本.Net調(diào)用C/capi,因此JNI與Android無關(guān)。在PC上開發(fā)Java應(yīng)用程序,如果運行在Windows平臺上,經(jīng)常使用JNI,比如讀寫Windows注冊表。
NDK是Google推出的一個開發(fā)包,幫助Android開發(fā)者用C/C本地語言編寫應(yīng)用程序。它包含C/C頭文件、庫文件、文檔和示例代碼。
我們可以理解,它是用純C/C編寫的,就像Windows平臺SDK一樣,但是Android不支持用純C/C編寫的應(yīng)用程序,同時NDK提供的庫和函數(shù)非常有限,只處理一些算法效率敏感的問題。因此,android123建議初學(xué)者在學(xué)習(xí)JNI之前先學(xué)習(xí)java。
jni是哪兩個漢字?
JNI是Java Native Interface的縮寫,中文表示Java本地調(diào)用。自java1.1以來,javanativeinterface(JNI)標(biāo)準(zhǔn)已經(jīng)成為Java平臺的一部分,它允許Java代碼與其他語言編寫的代碼進行交互。JNI最初是為本地編譯語言設(shè)計的,特別是C和C,但它并不阻止您使用其他語言,只要支持調(diào)用約定。
為什么安卓不放棄虛擬機機制,轉(zhuǎn)變更高效的方式,例如ios一樣?
那不是Linux手機嗎?很多制造商都做過,但什么也沒做。如果Android沒有接近Java,它就不會處于目前的狀況。Java開發(fā)人員遠(yuǎn)不止是C/C。WP就死在這上面了。如果IOS沒有硬件的支持,它早就死了。
一開始,Android希望構(gòu)建一個跨平臺的移動系統(tǒng)。事實上,以前有x86和MIPS手機,但后來被arm控制,這讓人覺得這個JVM是個負(fù)擔(dān)。