很多人因为Android应用的开发主要由java语言和xml语言组成,就认为只要学好java,Android绝对不在话下。小编个人不认同这种想法,Android系统的初始版本诞生于2007年11月5日,自此发展非常人可预知也。当前Android版本已经发展至5.0。他已经独立成一门新型的“专业”了,他不仅有应用,也有硬件。Android系统的底层建立在Linux系统上,使用的是软件叠层的方式进行构建,这种方式构建的好处是明确各层分工,保证了层与层之间的低耦合性,互不干涉!这就要用到Android官方文档的经典视图1.1。
![](http://images.cnitblog.com/blog/721018/201502/041546259845025.jpg)
从图中我们可以看出其所包含的内容那是何其的多。简单做个解释:
1.应用程序层
这些用的是java代码,在我们这些程序猿的概念是另类的java!
2.应用程序框架
这里是android应用开发的核心,供开发者使用的是系统提供的大量API(从1.0-5.0),不仅功能强大,另一个好处为开源!
3.函数库
这里是一堆C/C++库的集合,从图中我们可以看出我们应用开发者不能直接调用这些库,但可以通过框架调用,包括照相机,地图的的函数方法均在次(是否感觉很强大)
4.Android运行时
这里要区分的就是jvm和Dalvik两个虚拟机之间的需别,最主要的就是Dalvik运行的是.dex文件,而jvm是.class文件,一个基于寄存器,一个基于栈。各有好处,基于寄存器的运行性能高,冗余低,但是硬件通用性差。(Java开发者特别要注意这点)
5.Linux内核
这里是Android系统的底层,里面的文件系统,内核,root由开发者编译更好理解(具体内容小编后期会分享自己的开发经验),这里不做深究!只要知道linux系统是一个提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。
从上述所说,读者应明白Android并不是Java的子集。而是他与XML,linux,汇编,js等联合产物!Android的简介就到这!后面开始阐述小编的Android开发之旅。