android系统详细介绍

来源:互联网 发布:ai人工智能软件 编辑:程序博客网 时间:2024/05/21 10:46

 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。

系统简介

Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:华为、中兴、联想等。

系统架构

应用程序

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、PacketVideo Multimedia 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 Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。

Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

硬件抽像层

Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 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 kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

系统版本

很多玩家用户可能会奇怪:“为什么 Android 会用甜点作为它们系统版本的代号?”这个命名方法开始于 Andoird 1.5 发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,冻酸奶,姜饼,蜂巢。

Android 1.1  发布时间:2008 年9月

Android 1.5 Cupcake纸杯蛋糕   发布时间:2009 年 4 月

Android 1.6 Donut甜甜圈  发布时间:2009 年 9 月发布

Android 2.0 Eclair松饼  发布时间:2009 年 10 月 26 日

Android 2.1 Eclair松饼

Android 2.1: 2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair.”Android 2.1主要特性:提升硬件速度更多屏幕以及分辨率选择大幅度的用户界面改良支持 Exchange活动墙纸大幅改进虚拟键盘蓝牙 2.1Google 地图

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姜饼

北京时间2010年12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。

主要更新包括:

游戏:增加了新的垃圾回收和优化处理事件,以提高对游戏的支持能力。原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。新的管理窗口和生命周期的框架。

多媒体:支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器,比如混响、均衡、虚拟耳机和低频提升。

通讯方式:支持前置摄像头、SIP/VOIP和NFC(近场通讯)

站在用户的角度看,这次更新的亮点主要有:1、简化界面、速度提升;2、更快更直观的文字输入;3、一键文字选择和复制/粘帖;4、改进的电源管理系统;5、新的应用管理方式;6、原生支持前置前置摄像头、互联网通话和NFC(近场通讯);7、系统原生支持VoIP,可以在联系人里加入它的SIP帐户,然后直接通过系统来拨打VoIP电话;8、增加下载管理器:

Android 2.4 Ice cream sandwich冰激凌三明治 

预计在2011年第四季度发布。其甜品代号为 Ice cream sandwich(冰激凌三明治)。预计与2.3版本之间的变化不会太大,但是会有不少功能更新。毕竟已经采用了新的代号。

目前已知的Android 2.4带来的更新包括更多的动画特效、更快的运行速度、软件通话降噪、视频聊天等。Android 2.4系统不会是之前一直谣传的Android 3.0,其真正的版本号将会是Android 2.4。

Android 3.0 Honeycomb蜂巢

3.0系统特性:1、优化针对平板;2、全新设计的UI增强网页浏览功能;3、n-app purchases功能;4、经过优化的Gmail电子邮箱;5、全面支持GoogleMaps

Android 3.1 Honeycomb
  
Google发布了最新的Android3.1操作系统,新版本最大的改变是将Android手机系统跟平板系统再次合并,从而方便开发者。Android3.1相比3.0的升级有限,除了任务管理器可以滚动,支持USB 输入设备(键盘、鼠标等),另外还有,它会支持 Google TV.可以支持XBOX 360无线手柄,这个就牛掰了,大屏幕的Android平板电脑肯定会非常吃香,简直就是一台随身游戏机嘛,还是用手感最好的无线手柄的。此外就是一些widget支持的变化,能更加容易的定制屏幕widget插件。

Android历史

2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-Mobile G1。该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。   

2009年10月28日正式发布了Android 2.0 智能手机操作系统。   2010年1月索尼爱立信首款Android机型X10上市 。   

2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC G5),并同时开始对外发售。

2010年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。

北京时间3月25日,据国外媒体报道,谷歌周四表示,谷歌暂停开源Android3.0,并将暂时阻止小型手机生产商使用其Android 3.0“Honeycomb”系统,期限未定。   谷歌一位发言人通过电子邮件声明称,Honeycomb是专为平板电脑而非手机设计的,在该系统以开源形式发布前,还有很多工作要做。谷歌向《商业周刊》表示,推迟发布可能达数月之久。

谷歌称:“代号为Honeycomb的Android 3.0系统,是针对大屏幕设备和改进小软件、多任务、浏览、通知和客户化等功能而设计。虽然我们很高兴为平板电脑提供这些新功能,但交付给其他设备包括手机前我们有更多的工作要做。我们决定暂不开放源代码。我们致力于将Android作为跨多设备类型的开放式平台来提供,并在准备好时公布源代码”。

这意味着小型手机制造商要使用Honeycomb将不得不等待一段时间。不过大型设备商如HTC和摩托罗拉,已经可以使用。这些设备制造商一般安装在平板电脑中。

对此,谷歌工程副总裁和Android主管安迪·鲁宾(Andy Rubin)表示:“为了制定平板电脑出货的时间表, 我们进行了一些折衷设计。我们不想思考如何在手机上运行同一个软件”。

鲁宾还表示,谷歌不想冒险“带来非常糟糕的用户体验”。今年2月在发布Honeycomb时,谷歌发言人称,目前是专为平板电脑设计,“以后这些功能将推广到手机上。手机版的新Android,可能不会被叫做“Honeycomb ”,也可能是与3.0不同的版本。

Android的未来发展

虽然没有看到Gphone的真正模样,但据了解,Google的Android平台手机将在2008年下半年正式揭开面纱.对于消费者来说,Google手机将是一款通用的、功能强大的、设备完整的手机产品。   美国咨询研究集团Strategy Analytics的最新报告指出,Google最近公布的android手机软件平台,很可能在2008年时获得全球智能手机软件平台2%的份额。

然而老牌智能手机软件平台制造商Symbian发言人则表示:Google的android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。

与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。

但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。

Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌移动平台主管安迪·鲁宾(Andy Rubin)表示,与软件开发合作伙伴的密切接触正在进行中。从去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建“开放手机联盟”,其成员超过30家。”

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 身份证被移动公司拉黑了怎么办 微店申请退款卖家不同意怎么办 淘宝退货快递把我名字填错了怎么办 刚申请淘宝店信用为零怎么办 淘宝买家已付款卖家不做皮单怎么办 淘宝店铺被屏蔽7天后该怎么办 香信得登录密码忘了怎么办 苹果手机迅雷下载不了的资源怎么办 快手官方私信你的作品违规了怎么办 顺丰生鲜速配食物坏了怎么办 半年汽车没有年检 交警抓到怎么办 没年检的车子被交警抓到怎么办 去年检的路上被交警抓了怎么办 微信聊天界面群聊删除找不到怎么办 微博抽奖的奖品没发货怎么办 两个微信号绑了一个手机号怎么办 欧月玫瑰花朵叶子上有白粉怎么办 进对方空间被挡不想让他知道怎么办 qq上买东西给钱了对方没给怎么办 微信钱包手势密码忘记了怎么办 买家一起拍了两件宝贝怎么办 宿雾航空付款无法显示验证码怎么办 不小心把购物车的东西删了怎么办 微信在别人电脑登录忘退出怎么办 微信电脑版忘了退出怎么办 给微商交了定金不给退怎么办 方舟手游飞龙驯服时间不够怎么办 淘宝上买了假货找不到商家怎么办 魅蓝手机一直在开机画面怎么办 在实体店买的手机想退怎么办 淘宝买了东西发货了不想要了怎么办 快递已经发货了不想要了怎么办 锤子手机买了不到十天碎屏了怎么办 唯品会新人专享优惠卷过期了怎么办 我微信被系统说赌博登陆不起怎么办 平湖新居民积分卡怎么办办好办吗 电话卡插上去只能打紧急电话怎么办 不小心充错q币了怎么办 液相色谱柱堵了怎么办处理柱子 扣扣空间宠物消消87关怎么办 微信钱包里的钱忘记密码了怎么办