2013-12-14 41 views
2

我是新來的android開發。我讀了幾篇關於android的文章。但是我不明白android和android NDK有什麼不同。當我們使用Android NDK而不是普通的Android開發資源時,我們必須做些什麼?android和原生android(Android NDK)有什麼區別?

+1

在'ndk'上進行了2秒的搜索,讓我看到http://developer.android.com/tools/sdk/ndk/index.html,這似乎很清楚地解釋了這一點。 –

回答

1

「NDK是一個工具集,允許您使用本機代碼語言(如C和C++)實現應用程序的零件
」。
這裏的詞是關於在Android操作系統的Java的應用程序
但你想用母語編碼的部分。

http://developer.android.com/tools/sdk/ndk/index.html

當你想在Java中的Android操作系統編寫你使用Android SDK。 Java是
不是本地的,因爲它不會直接轉換爲機器碼,而是轉換爲VM字節碼。

https://developer.android.com/sdk/index.html

4

默認情況下,Android應用程序是用Java編寫的,編譯成字節碼,然後由目標平臺解釋,並轉換爲它的機器代碼。因此,普通的android應用程序可以跨平臺相對移植。 本機Android應用程序(或更確切地說,Android應用程序的本機部分)用C語言編寫,並直接編譯到特定平臺的機器代碼。這意味着應用程序的NDK部分可移植性較差,除非您專門爲每個不同的指令集編譯它。 爲什麼會有人使用NDK,你可能會問?某些功能要快得多。例如,字符串標記在正常的Android應用程序中顯得非常慢。使用NDK可以顯着提高速度。

如果你問,你應該從正常的Android應用程序開始。如果你發現你需要改進性能,那麼你可能想要進入NDK開發。

+0

謝謝DreemKiller – IBunny

相關問題