在Android NDK網站,你可以閱讀:與Java相比,Android C有更好的性能嗎?
而Android NDK是一個配套工具到Android SDK,讓您可以應用的 構建性能的關鍵部分在本地代碼。
...
如果你寫本地代碼,你的應用程序仍然打包成一個.apk文件,他們仍然在虛擬機內的設備
上運行...
使用本機代碼不會導致自動增加性能,但會增加應用程序的複雜性。
那麼如果C還編譯爲VM代碼,那麼如何使用C和NDK獲得性能?你可以繞過API,或者C編譯爲更優化的代碼,或者什麼?
或者它只是「開發加速」,所以如果你有一些C代碼,你不必將它移植到Java?
編輯:
我做不問「Java是比C慢」。我的考慮是,如果C是用gcc編譯,然後怎麼便攜解決(但是這是第二個問題,在背景中)
What are the portability implications of using the NDK?
你真的在問C是否比Java快? –
請記住,Android有它自己的虛擬機,比常規的Java虛擬機快很多,所以你只能用Java編寫,但字節碼是Dalvik。主要原因爲什麼黑莓應用吸和Android的不要(性能明智)。 – blindstuff
@CédricJulien:我真的問過它嗎?再次研究我的問題,發現我詢問Android C是否運行在虛擬機上,而不是C比Java更快 –