首先是linux,Android开发整个操作系统都是基于Linux核心的。那个这个核心包含着哪些内容呢?有Display driver,就是显示器驱动程序,还有照相机的驱动程序,还有闪存的驱动程序,以及还有电源管理,还有wifi的驱动程序,包括进程管理等等,也就是说Linux提供了这个系统最核心最基础的一些功能。
在Linux内核之上,有一些libraries,这些libraries是一个程序包,这些程序包基本上是由C和C++编写的。这些程序包里,包括OpenGL,这是3D 开发的一个API,还有SQLite,这是关系型数据库,这个数据库非常小,大小大约有几十K,但是它提供了完整的关系型数据库的一些特征,还有WebKit 开源浏览器内核,还有Media Framework,它是操作媒体的框架,这些都是由C和C++封装好的,同时还有一个Android运行时的环境。Android的运行环境和Java的运行环境是很类似的,它有一个核心包,这个和心包包含了Java开发当中常见的一些类库,除此之外,还包含着Google自己开发的一个Java虚拟机,虚拟机是针对于手机设备格外优化过的,所以说性能、耗电量都能和手机相匹配,因为把PC的虚拟机使用在手机上是不合适的,手机的限制是比较多的,比如说存储空间、耗电量等等和普通的电脑是不一样的,
在这一层之上,就是application framework,这些应用程序框架提供了手机开发必备的API,我们在开发应用主要就是基于application framework之上的,这里面包括activity manager等。
我们Android开发的程序在最顶层,就是applications,最顶层的调用application framework,而application framework上面的代码都是由Java编写的。Java编写的代码又要调用libraries,以及基于Android运行环境来进行运行。最后,交给操作系统底层和硬件进行交互。
本文来自麦子学院:http://www.maiziedu.com/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30037762/viewspace-1362304/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30037762/viewspace-1362304/