第三、从开发者角度讲
以上是从技术以及用户体验方面谈了谈我对Android最深的印象,本小节是从开发者角度来看,Android的创新设计,随手拈来,Android是基于Linux的开源操作系统,然而他的所有应用程序却必须是Java的!这可能对很多开发者来说难以理解,必竟Linux上面,大多数开发人员还是选择C/C++开发工具。

图:Java开发者数量比例
然而,我却认为这正是Google的创新之处!Android的优秀设计之一。Google之所有选择Java作为应用程序开发语言,主要考虑的一点是Java开发者多,应用程序开发速度快,可让开发者、Android应用提供商将更多的精力用在用户体验以及内容提供方面,而不是将时间耗在如何去实现方面。
虽然应用程序是Java语言,但程序的执行速度,响应速度丝毫不逊于c/c++应用程序,这是由于一方面Java-----Jni-----C/C++的框架设计原理,另一方面是基于Android上的Java虚拟机Dalvik的优化。大量的Java代码,其实底层实现都是C/C++,然后通过jni将结果返回给Java层,Java层的应用程序更多的是皮肤,是C/C++代码的包装。所以Android应用程序在执行时,很少一部分是Java语言编写的,更多的是执行了C/C++语言编写的代码。同时,Google优化的Dalvik虚拟机大大提高了Java代码的执行速度,最新Android2.2版本的Jit使应用程序的执行速度提高了2-3倍。