Android的体系架构鼓励组件重用,允许开发者发布共享Activity、Service并且访问其他应用程序的数据,还可以根据开发者制定的安全限制进行管理。


如下图框架:



  


从上到下依次为:应用层,应用框架层,库,Linux内核;

1.应用层

Andriod将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序,所有应用程序都是Java编程语言编写的。

2.应用框架层


通过提供一个开放的开发平台,开发者使用Android可以开发出极为丰富且新颖的应用程序。开发者可以自由的利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等。


这里的框架强制要求的安全约束应该怎么理解呢?)这一相同的机制允许用户替换组件。


1.ActivityManager:(活动管理器)负责管理应用程序的生命周期。


2.Views:Views为应用程序构建用户界面。


3.Notification Manager:(通知管理器)使所有的应用程序在状态栏显示自定义的警告通知。


4.ContentProvider:(内容提供器)使一个应用程序可以访问另一个应用程序的数据(如联系人),或者应用程序内部共享自有数据。


5.Resource Manager:(资源管理器)提供对本地化字符串、图形和布局文件等非代码资源的访问通道。


3.库


核心库:


a).系统C库——基于BSD的标准C系统库(libc)实现,移植到了Linux嵌入式设备上。


b).媒体库——基于PacketVideo的OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4,H。264、MP3,AAc,AMR,JPG和PNG)的播放和录制。


c).表面管理器——管理队显示子系统访问,无缝组合多个应用程序的二维和三维图形层。