Android学习:[8]android体系架构
1、首先,来张全貌图,这是张非常经典的架构图。
Android的系统架构采用了分层架构的思想,从上层到底层共包括四层,分别是应用层、应用框架层、类库层和Android运行时、Linux内核层
2、android的最底层,是LINUX内核。
LINUX系统是开源的,完全免费,谁都可以改。android,就是google拿着LINUX内核改出来的操作系统。所以底层用的是LINUX内核,几乎改动不大。
这里列出了8个东西(不仅仅这8个,只是这里介绍这8个):
Display Driver:显示驱动;
Camera Driver:摄像头驱动;
Hash Memory Driver:闪存驱动;
Binder (IPC) Driver:用于进程间通信的Binder驱动;
Keypad Driver:键盘驱动;
Wifi Driver:WIFI驱动;
Audio Driver:音频驱动;
Power Management:电源管理器.
3、类库层,这里不一定都是goole写的。
Media Framework:音频框架;
sqllit:android自带的轻量级数据库。
OpenGl | ES:适合移动设备上的图形图像引擎;
Free Type:字体库
WebKit:浏览器内核。目前主流的浏览器内核,IE和webKit.android\iphone\linux使用的都是webKit;
SGL:图形图像引擎,但是没有openGL | ES用的多;
SSL:基于TCP/IP上的安全协议;
libc:零散的类库;
Core****** :核心库
Dalvrik****:安卓虚拟机;因为安卓的应用程序无法在LINUX上运行,必须要有一个安卓虚拟机。
4、应用框架层:
Activity Manager:界面管理器;
window Manager:窗口管理器
content providers;内容提供者;
view system:视图系统;
还有包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP
层。
在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。
5、系统级别或者第三方应用。
6、类库层是用C写的,应用框架层是用JAVA写的。如果我们每次写都调用C语言是很不方便,也不好的。所以,通过应用框架层进行屏蔽