Android系统一共分为四层,分别为:应用层,应用框架层,中间件层:包括核心库与运行时(libraries&Android Runtime)。Android每一层都把底层封闭,并暴露调用接口给上一层,有类似于TCP/IP协议分层思想。
1。应用程序层
Android系统会为我们内置一些应用,如相机,浏览器,SMS短信程序,EMAIL客户端,日历,地图等。所有的应用程序都是用JAVA语言写的。
2。应用程序框架层
(1)丰富而又可扩展性的视图(VIEW),可以用来构建应用程序。如列表(List),按钮,文本框,可嵌入的浏览器等。
(2)Content Providers.使得应用程序能够访问另一个应用程序的数据。或者共享他们自己的数据。如联系人数据库。
(3)资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形和布局文件等。
(4)通知管理器(Notification Manager)使得用户可以在状态栏中显示自己的提示信息。
(5)活动管理器(Activity Manager)用来管理应用程序的生命周期并提供常用的导航功能。如回退,Home键等。
3。中间件层
(1)中间件包括二部分:核心库与运行时。
(2)核心库包括SurfaceManager。显示系统管理库,负责将2D或3D的内容展现到屏幕上;Media FrameWork媒体库,提供图片以及相应的音频视频信息的回放和录制;SqlLite,一个强大的轻量级数据库。
(3)Dalvik虚拟机,每个Android应用程序都在自己的进程中进行,都有一个自己的Dalvik虚拟机,这样可以优化程序运行,达到程序间影响大大降低。同时Dalvik运行的并不是JAVA字节码,而是自己的字节码。
4。linux核心层
Android运行在Linux kernel 2.6以上。但是把Linux内受GNU协议约束的部分取消了,这样就可以用于商业开发。
Linux内核是硬件和软件之间的抽象层。