2013-03-06 50 views
9

我即将开始构建一个Android应用程序(我目前正在研究Web服务和数据库),我想知道在使用Java或直接编码到C之间的应用程序速度上是否存在显着差异或C++。建立快速的Android应用程序 - Java还是原生的?

该应用程序不包含任何复杂的图形或物理,其速度主要取决于几个对象与REST Web服务之间的传输速度。

在此先感谢

+5

我会推荐用Java来做,就像Google一样。 NDK的唯一目的是使移植预先存在的代码库变得更加容易。 – 2013-03-06 22:24:25

+4

“它的速度主要取决于几个对象与REST Web服务之间的传输速度” - “传输速度”由Internet连接控制,并且与编程语言的速度几乎没有关系。 – CommonsWare 2013-03-06 22:24:27

+0

使用Java直到您必须绑定本机库或分析才能显示热点,其中本机代码的适度速度优势将真正发挥作用。使本地代码比Java更健壮和更正确并且难以维护更困难。 – Gene 2013-03-06 22:28:54

回答

18

Google says你或许应该只是坚持与Java:

之前下载的NDK,你应该明白,NDK将不利于大多数应用程序。作为一名开发人员,您需要平衡其优点和缺点。值得注意的是,在Android上使用本机代码通常不会导致显着的性能改进,但它总会增加您的应用程序复杂性。一般来说,如果它对你的应用程序是必不可少的,那么你应该只使用NDK,而不是因为你只是喜欢用C/C++编程。

NDK的典型优秀候选者是独立的CPU密集型操作,不会分配太多内存,如信号处理,物理仿真等。在检查您是否应该使用本机代码进行开发时,请考虑您的需求并查看Android框架API是否提供您需要的功能。

3

我不会推荐使用NDK,因为您已经提到过您正在从头开始构建Android。谷歌专门说here,你不应该因为上述原因而使用NDK。

0

我建议您使用Java并使用Spring for Android来使用REST Web服务。消耗它们太容易了。目前我已经在Android Play商店中使用了一个已发布的应用程序,并且源代码位于GitHub中,您可以在此查看。

祝你好运!

相关问题