标题:
安卓操作系统简介
[打印本页]
作者:
梦景
时间:
2011-10-31 00:22
标题:
安卓操作系统简介
安卓操作系统简介
简言
:
Android
一词的本义指“机器人”,同时也是
Google
于
2007
年
11
月
5
日
宣布的基于
Linux
平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为
Android 2.4Gingerbread
和
Android 3.0 Honeycomb
。
系统介绍:
Android
是基于
Linux
内核的操作系统,是
Google
公司在
2007
年
11
月
5
日
公布的手机操作系统,早期由
Google
开发,后由开放手持设备联盟(
Open HandsetAlliance
)开发。它采用了软件堆层(
software stack
,又名以软件叠层)的架构,主要分为三部分。底层
Linux
内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以
Java
编写。
2010
年末数据显示,仅正式推出两年的操作系统
Android
已经超越称霸十年的诺基亚(
Nokia
)
Symbian OS
系统,采用
Android
系统主要手机厂商包括宏达电子(
HTC
)、三星(
SAMSUNG
)、摩托罗拉(
MOTOROLA
)、
LG
、
Sony Ericsson
、魅族
M9
等,使之跃居全球最受欢迎的智能手机平台,
Android
系统不但应用于智能手机,也在平板电脑市场急速扩张。
系统架构:
应用程序:
Android
以
Java
为编程语言,使接口到功能,都有层出不穷的变化,其中
Activity
等同于
J2ME
的
MIDlet
,一个
Activity
类(
class
)负责创建视窗(
window
),一个活动中的
Activity
就是在
foreground
(前景)模式,背景运行的程序叫做
Service
。两者之间通过由
ServiceConnection
和
AIDL
连结,达到复数程序同时运行的效果。如果运行中的
Activity
全部画面被其他
Activity
取代时,该
Activity
便被停止(
stopped
),甚至被系统清除(
kill
)。
View
等同于
J2ME
的
Displayable
,程序人员可以通过
View
类与“
XML layout
”
档将
UI
放置在视窗上,
Android 1.5
的版本可以利用
View
打造出所谓的
Widgets
,其实
Widget
只是
View
的一种,所以可以使用
xml
来设计
layout
,
HTC
的
Android Hero
手机即含有大量的
widget
。至于
ViewGroup
是各种
layout
的基础抽象类(
abstract class
),
ViewGroup
之内还可以有
ViewGroup
。
View
的构造函数不需要再
Activity
中调用,但是
Displayable
的是必须的,在
Activity
中,要通过
findViewById()
来从
XML
中取得
View
,
Android
的
View
类的显示很大程度上是从
XML
中读取的。
View
与事件(
event
)息息相关,两者之间通过
Listener
结合在一起,每一个
View
都可以注册一个
event listener
,例如:当
View
要处理用户触碰(
touch
)的事件时,就要向
Android
框架注册
View.OnClickListener
。另外还有
Image
等同于
J2ME
的
BitMap
。
中介软件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(
Library
)和虚拟机(
Virtual Machine
)。
Bionic
是
Android
改良
libc
的版本。
Android
同时包含了
Webkit
,所谓的
Webkit
就是
Apple Safari
浏览器背后的引擎。
Surface flinger
是就
2D
或
3D
的内容显示到屏幕上。
Android
使用工具链
(Toolchain)
为
Google
自制的
Bionic Libc
。
Android
采用
OpenCORE
作为基础多媒体框架。
OpenCORE
可分
7
大块:
PVPlayer
、
PVAuthor
、
Codec
、
PacketVideoMultimedia Framework(PVMF)
、
Operating System Compatibility Library(OSCL)
、
Common
、
OpenMAX
。
Android
使用
skia
为核心图形引擎,搭配
OpenGL/ES
。
skia
与
Linux Cairo
功能相当,但相较于
Linux Cairo, skia
功能还只是阳春型的。
2005
年
Skia
公司被
Google
收购,
2007
年初,
Skia GL
源码被公开,目前
Skia
也是
Google Chrome
的图形引擎。
Android
的多媒体数据库采用
SQLite
数据库系统。数据库又分为共用数据库及私用数据库。用户可通过
ContentResolver
类(
Column
)取得共用数据库。
Android
的中间层多以
Java
实现,并且采用特殊的
Dalvik
虚拟机(
Dalvik VirtualMachine
)。
Dalvik
虚拟机是一种“暂存器型态”(
Register Based
)的
Java
虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Dalvik
虚拟机可以有多个实例(
instance
)
,
每个
Android
应用程序都用一个自属的
Dalvik
虚拟机来运行,让系统在运行程序时可达到优化。
Dalvik
虚拟机并非运行
Java
字节码(
Bytecode
),而是运行一种称为
.dex
格式的文件。
硬件抽像层
(HardwareAbstraction Layer)
Android
的
HAL
(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。
HAL
的目的是为了把
Androidframework
与
Linux kernel
隔开,让
Android
不至过度依赖
Linux kernel
,以达成
kernelindependent
的概念,也让
Android framework
的开发能在不考量驱动程序实现的前提下进行发展。
HAL stub
是一种代理人(
proxy
)的概念,
stub
是以
*.so
档的形式存在。
Stub
向
HAL
“
提供”操作函数(
operations
),并由
Android runtime
向
HAL
取得
stub
的
operations
,再
callback
这些操作函数。
HAL
里包含了许多的
stub
(代理人)。
Runtime
只要说明“类型”,即
module ID
,就可以取得操作函数。
编程语言
Android
是运行于
Linux kernel
之上,但并不是
GNU/Linux
。因为在一般
GNU/Linux
里支持的功能,
Android
大都没有支持,包括
Cairo
、
X11
、
Alsa
、
FFmpeg
、
GTK
、
Pango
及
Glibc
等都被移除掉了。
Android
又以
bionic
取代
Glibc
、以
Skia
取代
Cairo
、再以
opencore
取代
FFmpeg
等等。
Android
为了达到商业应用,必须移除被
GNU GPL
授权证所约束的部份,例如
Android
将驱动程序移到
userspace
,使得
Linux driver
与
Linux kernel
彻底分开。
bionic/libc/kernel/
并非标准的
kernel header files
。
Android
的
kernel header
是利用工具由
Linux kernelheader
所产生的,这样做是为了保留常数、数据结构与宏。
目前
Android
的
Linux kernel
控制包括安全(
Security
),存储器管理(
Memory Management
),程序管理(
ProcessManagement
),网络堆栈(
Network Stack
),驱动程序模型(
Driver Model
)等。下载
Android
源码之前,先要安装其构建工具
Repo
来初始化源码。
Repo
是
Android
用来辅助
Git
工作的一个工具。
系统版本
Android 1.1
发布时间:发布于
2009
年
2
月
代表手机
:T-MOBILE G1
Android 1.5
发布于
2009
年
5
月
代表手机:摩托罗拉
CILQ
Android 1.6
2009
年
9
月发布
代表手机:索尼爱立信
X10
Android 2.0 Eclair
2009
年
10
月
26
日
代表机型:摩托罗拉
XT800
,
HTC G6
Android 2.1 Eclair
Android 2.1: 2009
年
10
月
26
日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了
Android 2.1
“
Eclair.
”
Android 2.1
主要特性
提升硬件速度
更多屏幕以及分辨率选择
大幅度的用户界面改良
支持
Exchange
活动墙纸
大幅改进虚拟键盘
蓝牙
2.1
Google
地图
3.1.2
Android 2.0.1SDK
于
2009
年
12
月
3
日
发布,之后是
2010
年
1
月
10
日的
2.1
版本。很多用户和围观群众可能会奇怪:“为什么
Android
会用甜点作为它们系统版本的代号?”,这个命名方法开始于
Andoird 1.5
发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照字母数序:小蛋糕,甜甜圈还有松饼。之前人们预计
2.2
版本的代号会是“馅饼”,但这个被最终证明是错误的,“
FroYo
”
(冻酸奶)才是
Android 2.2
这个伴随
Google Nexus One
发布的新版的最新代号
Android 2.2 Froyo
谷歌于北京时间
2010
年
5
月
20
日晚上
10:30
点在旧金山
Moscone
会展中心举办
Google I/O 2010
大会第二天的会议,
Google
正式发布了代号是“
froyo
冻酸奶”的
Android
操作系统
2.2
版。
相对于上一版本的
改变:
1
、整体性能大幅度的提升
2
、
3G
网络共享功能。
3
、
Flash
的支持。
4
、
App2sd
功能。
5
、全新的软件商店。
6
、更多的
Web
应用
API
接口的开发
Android 2.3 Gingerbread
gingerdroid
北京时间
2010
年
12
月
7
日凌晨
,
Google
正式对外发布了他们的下一代智能手机操作系统
Android 2.3
也就被大家所熟知的
AndroidGingerbread
系统。虽然在版本号方面
Android 2.3
相对于前作而言的提升并不算多,但是从功能以及界面的变化上来看还是十分明显的,因此还是十分有必需要向大家介绍一下这个全新的系统的。
虽然是一个较为重大的更新,但是
Android 2.3
在界面方面的改变相对于之前的
Android 2.2
而言其变化并不算明显,其主要的变化来自于界面的配色方面。
Android 2.3
在配色方面更多的使用了绿色配色,例如状态栏、通话图标以及其他的一些功能图标。另外全新的系统在界面的反应速度方面相对于前作也有了一定程度的提升,现在大家使用
Android
系统将会觉得使用起来更为流畅。
Android 2.3
在文字输入方面做了改进,以提高输入速度。首先改进了虚拟键盘,按键的颜色做了调整,更易于辨识。增强了输入法联想功能。数字输入的时候可以不用切换键盘,通过组合键来输入。
之前
Android
系统具备文本复制功能,但是操作方式不是很易用,这次做了改进。长按文本时会跳出选择范围的拨杆。
Android 2.4 Gingerbread
就像
Android 2.0
和
2.1
版本都使用
Eclair
(法式奶油夹心甜点)一样,
Android 2.3
和
2.4
将会共享
Gingerbread
(姜饼)代号。这两个版本之间的变化不会太大,但是会有不少功能更新。
目前已知的
Android 2.4
带来的更新包括更多的动画特效、更快的运行速度、软件通话降噪、视频聊天等。
Android 2.4
系统不会是之前一直谣传的
Android 3.0
,其真正的版本号将会是
Android 2.4
。
蜂巢将会在
2011
年发布,尤其是在
Android
之父“
Andy Rubin(
安迪鲁宾
)
”
秀了搭载该系统的摩托罗拉平板机之后就更加确信这一点了,不过蜂巢究竟在何时发布,同时还会有别的什么设备一同面世,蜂巢之后又是什么系统,这些问题我们都不知道答案。 发布时间预计是
2011
年的
2
月
14
日
至
17
日在巴塞罗那举办的
MWC 2011
移动通信世界大会中。
Android 3.0 Honeycomb
2011
年
2
月
3
日
凌晨,谷歌正式发布了专用于平板电脑的
Android 3.0Honeycomb
系统。这是首个基于
Android
的平板电脑专用操作。首款采用
Android3.0
系统的是
MOTO XOOM
。该机是摩托罗拉移动在
2011
年
1
月
5
日
,在美国拉斯维加斯
CES
电子消费展推出的旗下首款平板电脑。
3.0
系统特性
•专用于平板电脑
•
全新设计的
UI
增强网页浏览功能
•
n-app purchases
功能
•经过优化的
Gmail
电子邮箱;
•全面支持
Google Maps
安卓系统的优势:
一、开放性
在优势方面,
Android
平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到
Android
联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开发性对于
Android
的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
二、挣脱运营商的束缚
在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从
iPhone
上市,用户可以更加方便地连接网络,运营商的制约减少。随着
EDGE
、
HSDPA
这些
2G
至
3G
移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。
三、丰富的硬件选择
这一点还是与
Android
平台的开放性相关,由于
Android
的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚
Symbian
风格手机一下改用苹果
iPhone
,同时还可将
Symbian
中优秀的软件带到
iPhone
上使用、联系人等资料更是可以方便地转移。
四、不受任何限制的开发商
Android
平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给
Android
难题之一。
五、无缝结合的
Google
应用
如今叱咤互联网的
Google
已经走过
10
年度历史。从搜索巨人到全面的互联网渗透,
Google
服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而
Android
平台手机将无缝结合这些优秀的
Google
服务。
作者:
szpcbcb1
时间:
2011-10-31 17:09
这知识很深奥!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0