安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。
主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android操作系统最初由Andy Rubin开发(2003年),主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。
Android 用甜点作为它们系统版本的代号的命名方法开始于 Andoird 1.5
发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,冻酸奶,姜饼,蜂巢,冰淇淋三明治,果冻豆,奇巧,棒棒糖,棉花糖,牛轧糖,奥利奥
安卓 1.5 Cupcake “杯型蛋糕”(2009年)
安卓 1.6 Donut “甜甜圈” (2009年)
安卓 2.0 Eclair “埃克拉”(2009年)
安卓 2.2 Froyo “弗洛约” (2010年)
安卓 2.3 Gingerbread “姜饼” (2011年)
安卓 3.0/3.1/3.2 Honeycomb “蜂巢”(2011年)
安卓 4.0 Ice Cream Sandwich “冰淇淋三明治”(2011年)
安卓 4.1 Jelly Bean “果冻豆”(2012年)
安卓 4.4 KitKat “奇巧”(2013年)
安卓 5.0/5.1 Lollipop “棒棒糖”(2014年)
安卓 6.0 Marshmallow “棉花糖”(2015年)
安卓 7.0 Nougat“牛轧糖”(2016年)
安卓 8.0 Oreo “奥利奥”(2017年)
安卓 9.0 Pie “派”(2018年)
安卓 10.0Q(2019年)
目前Android的主要竞争对手是IOS
Android的应用领域
对于安卓呢作为移动设备开发的平台并不是只能作为手机的操作系统
而且还可以作为可穿戴设备的操作系统 或者是安卓电视的操作系统
它是一个完全免费的开放平台
允许第三方厂商加入和定制目前采用安卓平台的手机厂商主要有什么NEXUS、HTC、SAMSUNG、LG、SONY、HUAWEI华为、lenovo联想、ZTE中兴等等。 Android Wear
它是谷歌为可穿戴设备打造的智能平台,比如说智能手表、智能手环、智能眼镜等等,都可以使用这个Android Wear,它同样是一个开放平台同样允许第三方厂商加入进来生产各式各样的穿戴设备,目前对于AndroidWear主推就是应用在智能手表上。 AndroidTV
智能电视,谷歌在IO大会上AndroidTV就是谷歌电视的替代品,它主要是应用在智能电视上,经过谷歌精心优化的AndroidTV,支持google now、语音输入、甚至可以连接和匹配游戏手柄,另外对于AndroidTV它完美的集成了谷歌服务于一体,尤其是在Google play上的多媒体内容。 AndroidAuto
它也是可以应用在汽车上的,是谷歌公司推出的专门为汽车设计的,连接Android手机使用,意在取代汽车制造商的原生车载系统来执行Android应用和服务,并且可以访问和存取Android手机的内容。 Android的体系结构
1.Applications应用程序:
应用层是一个核心应用程序的集合,所有安装在手机上的应用程序都属于这一层,例如短信,浏览器,通讯录等,或者下载的微信、QQ、支付宝等
2.Application Framework应用程序框架:
Android为开发者提供的开放平台,位于应用程序的下一层,主要提供了构建应用程序时用到的各种API。Android提供的是一组服务和系统,在开发Applications层应用是会直接使用到。具体有:
1)视图系统(View System):构建应用程序的界面。
2)内容提供者(Content Provider):允许应用程序访问其他应用程序的数据或者共享数据。
3)通知管理器(Notification Manager):允许应用程序在状态栏上显示定制的提示信息。
4)活动管理器(Activity Manager):管理应用程序的生命周期,提供一个通用的导航回退功能。
5)资源管理器(Resource Manager):提供对非代码资源的管理。
3.Libraries 库:
核心类库包含了系统库和Android运行环境。系统库主要包括一组C/C++库,用于Android系统中不同的组件,这些功能通过Android应用程序框架对开发者开放。
一些相关的核心类库:
1)C语言系统(libc):派生于标准C语言系统,并根据嵌入式Linux设备进行调优。
2)多媒体库(MediaFramework):基于OpenCore多媒体开源框架。支持多种视频、音频文件
3)外观管理器(SurfaceManager):管理访问子系统的显示,将2D绘图与3D绘图进行显示上的合成。
4)SGL:底层的2D图形引擎。
5)OpenGL|ES:基于OpenGL ES API的实现。该库使用了硬件3D加速或高度优化的3D软件光栅。
6)FreeType:用于位图和矢量字体的渲染。 7)SQLite:一个强大得瑟关系型数据库。
4.Android Runtime: Android的一些核心库,
提供大部分Java编程语言核心库的功能,还包括Dalvik虚拟机,Android应用程序是在Dalvik虚拟机的实例下以进程形式运行。
Dalvik虚拟机:
Dalvik是Google公司自己设计的用于Android平台的虚拟机,它可以简单地完成进程隔离和线程管理,并且提高内存的使用效率。每一个Android应用程序在底层都会对应一个独立的Dalvik虚拟机实例。
作者:WENJIE009