好吧,这真的应该问谷歌的人,但我只是想要其他的意见。
尽管Android支持原生代码应用程序,但主要的开发工具仍然是Java。但是为什么呢?我的意思是,在移动设备上解释代码是不是太慢了?在介绍Froyo时,谷歌表示,新的JIT编译器可以实现2-5倍的应用程序速度。这意味着,在原生代码上使用Java的速度要慢2-x倍。
是的,我知道使用托管代码应用程序在系统稳定性方面更安全,因为虚拟机可以更好地控制程序执行,但尽管如此,这种性能下降仍然很大,我看不出为什么要使用它。
发布于 2010-08-25 05:05:22
以下是一些要点:
< code >H19几个已经使用Java的手机,所以Java在行业中是众所周知的
发布于 2010-08-25 05:01:23
在字节码级别,Android不使用Java。源代码是Java,但它不使用JVM。
发布于 2010-08-25 05:02:52
对于像手机这样的设备来说,提高系统稳定性是非常重要的。
安全性更重要。Android环境允许用户运行不完全受信任的应用程序,这些应用程序可能会在没有出色安全性的情况下以令人不快的方式利用手机。通过在虚拟机中运行所有应用程序,您可以保证除非VM实现中存在缺陷,否则任何应用程序都不能利用操作系统内核。反过来,VM实现可能很小,并且有一个小的、定义良好的安全表面。
也许最重要的是,当程序被编译成虚拟机的代码时,它们不必为新的硬件重新编译。手机芯片市场多种多样,瞬息万变,所以这是一件大事。
此外,使用Java使得人们编写的应用程序不太可能被自己利用。没有缓冲区溢出,指针错误,等等。
https://stackoverflow.com/questions/3560963
复制相似问题