东莞做网站企业铭平面设计面试作品集
1. Android简介
Android是一种基于Linux内核的自由及开放源代码的操作系统。最初是由安迪·鲁宾(Andy Rubin)开发的一款相机操作系统。2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的手机市场份额首次超过塞班系统,跃居全球第一。2017年3月,Android超过Windows成为全球第一大操作系统。2022年Android的活跃设备数量突破30亿。
Android版本升级比较快,现在几乎以每年一版的速度更新,截至2024年6月,API等级目前已更新到35,具体如表1-1所示。
表1-1 Android版本名称与发布时间
|   年份  |   名称  |   版本名  |   API等级  | 
|   2024  |   Android 15  |   15.0  |   35  | 
|   2023  |   Android 14  |   14.0  |   34  | 
|   2022  |   Android 13(Tiramisu)  |   13.0  |   33  | 
|   2021  |   Android 12L(Sv2)  |   12L  |   32  | 
|   2021  |   Android 12(S)  |   12.0  |   31  | 
|   2020  |   Android 11(R)  |   11.0  |   30  | 
|   2019  |   Android 10(Q)  |   10.0  |   29  | 
|   2018  |   Android Pie  |   9.0  |   28  | 
|   2017  |   Android Oreo  |   8.0-8.1  |   26-27  | 
|   2016  |   Android Nougat  |   7.0-7.1.2  |   24-25  | 
|   2015  |   Android Marshmallow  |   6.0-6.0.1  |   23  | 
|   2014  |   Android Lollipop  |   5.0-5.1.1  |   21-22  | 
|   2013  |   Android KitKat  |   4.4-4.4.4  |   19-20  | 
|   2012  |   Android Jelly Bean  |   4.1-4.3  |   16-18  | 
|   2011  |   Android Ice Cream Sandwich  |   4.0.1-4.0.4  |   14-15  | 
|   2011  |   Android Honeycomb  |   3.0-3.2  |   11-13  | 
|   2010  |   Android Gingerbread  |   2.3-2.3.7  |   9-10  | 
|   2010  |   Android Froyo  |   2.2  |   8  | 
|   2009  |   Android Eclair  |   2.0-2.1  |   5-7  | 
|   2008  |   Android Donut  |   1.6  |   4  | 
|   2008  |   Android Cupcake  |   1.5  |   3  | 
|   2008  |   -  |   1.1  |   2  | 
|   2008  |   -  |   1.0  |   1  | 
2023年2月9日,Google 发布了 Android 14 的首个开发者预览版(Developer Preview)。Android 14 重点关注大屏和跨设备体验的改进,特别是平板电脑和可折叠设备,增强对后台App的管控,提升待机续航,把文本缩放比例限制从130%提升到200%,引入非线性字体缩放曲线,引入“应用克隆”了,支持App双开等。此外,Android 14将阻止API等级为 22 或更早版本的旧App的安装。
2. Android体系结构

Android体系结构分为五层,从上到下依次为应用层(App)、框架层(API Framework)、系统库和运行时层(Native C/C++ Libraries & Android Runtime)、硬件抽象层(Hardware Abstraction Layer)、内核层(Linux Kernal)。
应用层分为系统应用和用户应用。系统应用包括拨号、短信、通信录等。用户应用就是用户下载的应用,本书介绍的就是用户应用的开发。
框架层包括Android应用开发需要的框架。框架层提供了应用层需要调用的接口,应用层使用这些接口实现特定的功能。框架层包括Activity Manager(活动管理器)、Window Manager(窗口管理器)、Content Providers(内容提供者)、View System(视图系统)、Notification Manager(通知管理器)、Package Manager(包管理器)等组件。
系统库和Android运行时层是框架层的支撑,是连接框架层与硬件抽象层的纽带。系统库包括一些C/C++库,如SurfaceManager、SQLite、SGL、FreeType等。Android运行时 (ART) 是 Android 上的应用和部分系统服务使用的托管式运行时。ART 及其前身 Dalvik 是专为 Android打造的。作为运行时的 ART 可执行 Dalvik 可执行文件并遵循 Dex 字节码规范。
硬件抽象层Android HAL(Hardware Abstract Layer)是对硬件设备的抽象和封装,为Android在不同硬件设备提供统一的访问接口。HAL处于Android framework和Linux kernel driver之间。HAL屏蔽了不同硬件设备的差异,为Android提供了统一的访问硬件设备的接口。HAL层帮助硬件厂商隐藏了设备相关模块的核心细节。
内核层基于上游 Linux 长期支持 (LTS) 内核。在 Google,LTS 内核会与 Android 专用补丁结合,形成所谓的“Android 通用内核 (ACK)”。
