Android系统架构大致分为四层架构,五块区域。
1.应用层
系统最上层,安装在手机上的所有应用都在这一层,例如:系统自带应用联系人,短信等等。
2.应用框架层(application framework)
这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
1)丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮(buttons), 可嵌入的web 浏览器。
2)内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。
3)资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。
4)通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
5)活动管理器(Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
3.系统运行库
这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供数据库支持,OpenGL|ES库提供3D绘图支持,Webkit库提供浏览器内核支持等。
同时在这层还有Android运行时库,它主要提供一些核心库让开发者能够使用Java语言来编写应用程序。另外Android运行时库还包括了Dalvik虚拟机,这是专门为移动设备定制的虚拟机,它针对手机内存、CPU性能有限等情况有优化处理。
4.Linux内核层
这是框架最底层,该层为Android设备各硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WIFI驱动、电源管理等。