您的位置:首页 > 运维架构 > 网站架构

Android学习【1】——Android系统架构

2015-09-10 11:22 549 查看
关于Android的学习文档很多,但是在学习这条路上还是要在学习前人经验的基础上总结出自己东西。

看到一句话觉得很是贴切,“如果说一个成功的男人背后有一个默默支持他的女人的话,那么一个优越稳定的平台背后必然有一个成熟的系统架构所支撑着。”

下面是学习Android架构的总结:

Android并不是google创建的,而是Android创造,创始人Andy Rubin。

2007 Android1.0

2009 Android1.5(用户界面,蓝牙连接)

Android2.3 。。。。

Android底层构建在linux系统之上,由操作系统、中间件、用户界面和应用软件四层组成,采用一种软件叠层的方式构建。(保证了层与层之间的低耦合性)

构成可以分为5个部分:



应用程序、应用程序框架、函数库、Android运行时和Linux内核。

一、应用程序

Android系统包括系列的核心应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。均为java编写。

二、应用程序框架

开发Android应用程序是就是面向底层的应用程序框架进行的。Android系统上的应用程序都可以访问底层的API框架。

a) Activity
Manager(活动管理器)

管理各个应用程序的生命周期以及导航回退等功能;

b) Window
Manager(窗口管理器)

管理所有的窗口活动;

c) Content Provider(内容管理器)

是不同应用程序直接存储和分享数据;

d) View System(视觉系统)

构建应用程序的基本组件;

e)Notification Manager(通告管理器)

是应用程序可以的状态栏显示自定义的状态信息;

f)Package Manager(包管理器)

Android系统内的程序管理;

g)Telephony Manager(电话管理器)

管理所有的移动设备功能;

h)Resource Manager(资源管理器)

提供应用程序所使用的各种非代码资源,如本地化字符串、图片、布局文件和颜色文件;

i)Location Manager(位置管理器)

提供位置服务;

j)XMPP servece(XMPP服务)

提供Google talk(Google的即时通话软件)服务

三、 函数库

函数库(系统库)是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。

a)surface manager

执行多个应用程序时,负责管理显示与存取间的互动,另外也负责2D和3D绘图的显示合成;

b)Media Framework

多媒体库,基于PacketVideo opencore;支持多种常用的音频、视频格式的录制和回放,MPEG4、MP3、H.264、AAC、ARM

c)SQLite

小型的关系型数据库引擎

d)OpenGL|ES

根据Open GL ES 1.0API标准实现的3D绘图函数库

e)Freettype

提供点阵字和向量字的描绘与显示

f)WebKit

一套网页浏览器的软件引擎;

g)SGL

底层的2G图形渲染引擎;

h)SSL

在Android上通信过程中实现握手;

i)libc

从BSD继承来的标准C系统函数库,专门为基于embeded linux的设备定制;

四、Android运行时

Android运行时有Android核心库集(提供java语言核心库所使用的绝大部分功能)和Dalvik虚拟机(运行Android应用程序)构成。

Dalvik和jvm区别;

Dalvik:运行的是.dex文件;.class—(DX)—》.dex文件,基于寄存器

jvm:可以直接运行.class文件,基于栈

五、Linux内核

Android系统建立在Linux2.6之上,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: