在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更快 –