这篇文章仅限于对Android初学者看看,老鸟们大神们就略过吧。写这篇文章的初衷还是因为一个刚做Android半年多的朋友问我的,所以就来小谈一下具体的框架和各层的用处,还有针对各层的开发。
Android也是和其他系统一样,采用分层的架构。下面我么你先看一下Android经典的架构图:
从上图中可清晰地看出,Android从高到底,分别为应用程序层(application),应用程序框架层(application framework),系统运行库层,和linux内核层。下面我们一一介绍下,各层的用处:
1、应用程序层:
该层可以提供一些核心程序包,比如email,日历,SMS短信服务,地图,浏览器,联系人等一些基本的功能(系统应用)。开发者可以用java语言开发和设计自己的程序(可认为是第三方应用),而且可以和以上这些系统提供的功能,互不干扰,和平共处,但是在一些特殊情况,由于系统的程序优先权是高于开发者开发的,在Low Memory时候会优先kill掉第三方应用。
2、应用程序框架层:
该层是Android系统中最核心的部分,也是我们开发应用软件的基础,做应用程序的开发都要和这层打交道。开发人员也可以完全访问核心应用程序所使用的API。该层简化了组件的重组,开发人员可以直接使用其提供的组件,来进行快速的开发,并通过继承实现个性化的拓展。
1)、Activity Manager(活动管理)
管理各个应用程序的生命周期
2)、Window Manager (窗口管理)
管理所有的窗口程序
3)、Content Provider
使得应用程序可以访问其他程序的数据,或者共享自己程序的数据
4)、View Systme (视图系统)
丰富的可扩展的视图集合,可用于构建程序。
5)、Notification Manager (通知管理)
可以在状态栏显示开发者自定义的通知消息
6)、Package Manager (包管理)
程序的管理,安装,卸载等
7)、Telephony Manager (电话管理)
提供了一系列用于访问与手机通讯相关的状态和信息
8)、Resource Manager (资源管理)
提供非代码资源的访问,