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内核。
看到一句话觉得很是贴切,“如果说一个成功的男人背后有一个默默支持他的女人的话,那么一个优越稳定的平台背后必然有一个成熟的系统架构所支撑着。”
下面是学习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内核。
相关文章推荐
- JS+CSS实现电子商务网站导航模板效果代码
- IIS服务器同时设置多个网站的三种方式
- 自学宝典:10个学习Android开发的网站推荐
- android4.4.4睡眠唤醒软件架构
- winxp3IIS网站访问需要输入用户名和密码 .
- TinyDBF-用200行的DBF解析器来展示良好架构设计
- 如何快速开发网站?
- 学习网站
- 分布式系统架构的基本原则和实践
- OPENSTACK 架构设计指南 from Mirantis
- 设计模式与常见架构设计策略学习
- 52 个超实用网站
- 推荐一个不错的语言学习网站 lang-8
- iOS架构设计专题
- 系统架构:架构体系
- 购物网站的发展历史
- css3购物网站商品文字提示实例
- 40种网站常用Javascript技巧
- 安卓的架构
- 网站添加favicon.ico图标