1、Android历史版本
- 概述
Android
操作系统是一个由Google
和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 beta
发布于2007年11月5日
,至今已经发布了多个更新。这些更新版本都在前一个版本的基础上修复了Bug并且添加了前一个版本所没有的新功能。
平台版本 | SDK版本 | 版本名称 |
---|---|---|
10.0 | 29 | (Android Q)(10) |
9.0 | 28 | Pie(Android P)(派/馅饼) |
8.1 | 27 | Oreo(Android O)(奥利奥) |
8.0 | 26 | Oreo(Android O) (奥利奥) |
7.1 | 25 | Nougat(Android N)(牛轧糖) |
7.0 | 24 | Nougat(Android N)(牛轧糖) |
6.0 | 23 | Marshmallow(Android M)(棉花糖) |
5.1 | 22 | Lolipop(Android L)(棒棒糖) |
5.0 | 21 | Lolipop(Android L)(棒棒糖) |
4.4W | 20 | Kitkat Wear(奇巧巧克力) |
4.4 | 19 | Kitkat (奇巧巧克力) |
4.3 | 18 | JELLY_BEAN_MR2(软心豆粒糖/果冻豆) |
4.2 / 4.2.2 | 17 | JELLY_BEAN_MR1(软心豆粒糖) |
4.1 / 4.1.1 | 16 | JELLY_BEAN(软心豆粒糖) |
4.0.3 / 4.0.4 | 15 | ICE_CREAM_SANDWICH_MR1(冰淇淋三明治) |
4.0 / 4.01 / 4.02 | 14 | ICE_CREAM_SANDWICH(冰淇淋三明治) |
3.2 | 13 | HONEYCOMB_MR2(蜂巢) |
3.1.X | 12 | HONEYCOMB_MR1(蜂巢) |
3.0.X | 11 | HONEYCOMB(蜂巢) |
2.3.3 / 2.3.4 | 10 | GINGERBREAD_MR1(姜饼) |
2.3 | 9 | GINGERBREAD(姜饼) |
2.2 / 2.2.1 | 8 | Froyo(冻酸奶) |
2.1 | 7 | Eclair_MR2(闪电泡芙) |
2.0.1 | 6 | Eclair_MR1(闪电泡芙) |
2.0 | 5 | Eclair(闪电泡芙) |
1.6 | 4 | Donut(甜甜圈) |
1.5 | 3 | Cupcake(纸杯蛋糕) |
1.1 | 2 | Petit Four |
参考资料
2、Android系统版本变更
Android5.0(api等级:21)
Android Runtime (ART)
在 Android 5.0 中,ART 运行时取代 Dalvik 成为平台默认设置。Android 4.4 中已引入处于实验阶段的 ART 运行时。- 预先 (AOT) 编译
- 改进的垃圾回收 (GC)
- 改进的调试支持
Material Design设计样式
锁定屏幕可见性
默认情况下,在 Android 5.0 中,通知现在显示在用户的锁定屏幕上。用户可以选择保护敏感信息不被公开,在此情况下,系统会自动删减通知显示的文本。增加高级摄像头功能的摄像头 API(Camera 2)
优化电源管理
浮动通知
现在,当设备处于活动状态时(即,设备未锁定且其屏幕已打开),通知可以显示在小型浮动窗口中(也称为“浮动通知”)。这些通知看上去类似于精简版的通知,只是浮动通知还显示操作按钮。用户可以在不离开当前应用的情况下处理或清除浮动通知。Android NDK 中的 64 位支持
Android 5.0 引入了对 64 位系统的支持。64 位增强功能可增加地址空间和提升性能,同时仍完全支持现有的 32 位应用。64 位支持也可改进用于加密的 OpenSSL 的性能。此外,该版本还引入了新的原生媒体 NDK API,以及原生 OpenGL ES (GLES) 3.1 支持。.......
Android 6.0(api23)
增加运行时权限
低电耗模式和应用待机模式
- 低电耗模式:如果用户拔下设备的电源插头,并在屏幕关闭后的一段时间内使其保持不活动状态,设备会进入低电耗模式,在该模式下设备会尝试让系统保持休眠状态。在该模式下,设备会定期短时间恢复正常工作,以便进行应用同步,还可让系统执行任何挂起的操作。
- 应用待机模式:应用待机模式允许系统判定应用在用户未主动使用它时处于空闲状态。当用户有一段时间未触摸应用时,系统便会作出此判定。如果拔下了设备电源插头,系统会为其视为空闲的应用停用网络访问以及暂停同步和作业。
分屏操作
取消支持 Apache HTTP 客户端
Android 6.0 版移除了对 Apache HTTP 客户端的支持。如果您的应用使用该客户端,并以 Android 2.3(API 级别 9)或更高版本为目标平台,请改用 HttpURLConnection 类。此 API 效率更高,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。要继续使用 Apache HTTP API,您必须先在 build.gradle 文件中声明以下编译时依赖项:
android {
useLibrary 'org.apache.http.legacy'
}
.....
Android 7.0(api24)
引入全新的JIT编译器
使得App安装速度快了75%,编译代码的规模减少了50%支持vr
Project Svelte
Android 7.0 移除了三项隐式广播,以帮助优化内存使用和电量消耗。此项变更很有必要,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验。系统权限更改
为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问 (0700
)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。安全
(更安全的加密模式,可以对单独的文件进行加密,android系统启动加密)电池和内存
Android 7.0 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。这些变更可能会影响您的应用访问系统资源,以及您的应用通过特定隐式 intent 与其他应用交互的方式。增强低电耗模式
Android 6.0(API 级别 23)引入了低电耗模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动,从而延长电池寿命。而 Android 7.0 则通过在设备未插接电源且屏幕关闭状态下、但不一定要处于静止状态(例如用户外出时把手持式设备装在口袋里)时应用部分 CPU 和网络限制,进一步增强了低电耗模式。......
Android 8.0(api26)
画中画
Android O中,谷歌更加强调多任务处理场景中的流畅性,在I/O2017上,谷歌演示了增强功能的画中画模式,为用户带来不同应用程序间的流畅操作体验。例如用户可以在Netflix上观看电影,支持将电影屏幕缩小成悬浮窗口,在看电影的同时进行查看日历、搜索信息等其他工作,这和普通的画中画分屏模式并不相同。这一功能的唤醒只需要点击Home键按钮,如果想结束这一模式,可以将小窗口滑下来以终止。移除所有的隐式广播
Notification Dots(应用图标小圆点)
在Android O之前,使用安卓手机的用户,想要看到哪些应用程序推送了通知,可能只有在下拉通知中心中看到,但在Android O中,谷歌对安卓的通知功能做出了改进,这就是全新的Notification Dots功能,它是位于应用程序图标之上的小小的循环点,只有当应用出现未读通知时,它才会出现。这时候长按应用程序图标,就会以类似气泡的形式快速预览。而在通知中心中删除这些未读通知,应用图标上的标记点也会消失。Vitals
谷歌在I/O2017大会上提出的另一个概念是Vitals,在Android O中,谷歌还会将重点放在针对设备电池续航、安全、应用启动时间和稳定性的优化上。Google Play Protect(病毒扫描程序)
在I/O2017大会上,谷歌宣布推出Google Play Protect功能,可以视为安卓应用的病毒扫描程序。到目前为止,该团队每天都在扫描超过500亿次应用安装。用户将在Google Play应用更新窗口中看到一个条目,显示最近的扫描项目以及是否发现任何问题。系统/应用启动程序加速
谷歌表示,在Android O上, Pixel设备的启动几乎只需要原来一半的时间,同样,在应用启动速度上也是如此。谷歌对应用启动的进程进行了优化,包括并发进程、压缩收集的垃圾信息和代码区域等。此外还有针对后台服务的限制,防止应用程序在后台运行太久。目标是大大减少电池消耗。......
Android 9.0(api28)
显示屏缺口支持
Android 9 支持最新的全面屏,其中包含为摄像头和扬声器预留空间的屏幕缺口。 通过DisplayCutout
类可确定非功能区域的位置和形状,这些区域不应显示内容。 要确定这些屏幕缺口区域是否存在及其位置,请使用getDisplayCutout()
函数。利用 Wi-Fi RTT 进行室内定位
Android 9 添加了对 IEEE 802.11mc Wi-Fi 协议(也称为 Wi-Fi Round-Trip-Time (RTT))的平台支持,从而使得应用可以利用室内定位功能。多摄像头支持和摄像头更新
在运行 Android 9 的设备上,您可以通过两个或更多物理摄像头来同时访问多个视频流。] 在配备双前置摄像头或双后置摄像头的设备上,您可以创建只配备单摄像头的设备所不可能实现的创新功能,例如无缝缩放、背景虚化和立体成像。 通过该 API,您还可以调用逻辑或融合的摄像头视频流,该视频流可在两个或更多摄像头之间自动切换。安全增强功能
包括:- Android Protected Confirmation
运行 Android 9 或更高版本的受支持设备赋予您使用 Android Protected Confirmation 的能力。 使用该工作流时,您的应用会向用户显示提示,请他们批准一个简短的声明。 应用可以通过这个声明再次确认,用户确实想完成一项敏感事务,例如付款。 - 统一生物识别身份验证对话框
在 Android 9 中,系统代表您的应用提供生物识别身份验证对话框。 该功能可创建标准化的对话框外观、风格和位置,让用户更加确信,他们在使用可信的生物识别凭据检查程序进行身份验证。 - 硬件安全性模块
- 保护对密钥库进行的密钥导入
- 具有密钥轮转的 APK 签名方案
Android 9 新增了对 APK Signature Scheme v3 的支持。该架构提供的选择可以在其签名块中为每个签名证书加入一条轮转证据记录。 利用此功能,应用可以通过将 APK 文件过去的签名证书链接到现在签署应用时使用的证书,从而使用新签名证书来签署应用。 - 只允许在未锁定设备上进行密钥解密的选项
Android 9 引入了 unlockedDeviceRequired 标志。 此选项确定在允许使用指定密钥对任何正在传输或存储的数据进行解密之前,密钥库是否要求屏幕解锁。 这些类型的密钥非常适合用于加密要存储在磁盘上的敏感数据,例如健康或企业数据。 该标志为用户提供了更高的保证,即使手机丢失或被盗,在设备锁定的情况下,无法对数据进行解密。 - 旧版加密支持
- 客户端加密备份
- 定义备份所需的设备条件
- Android Protected Confirmation
无障碍功能增强
DEX 文件的 ART 提前转换
在运行 Android 9 或更高版本的设备上,Android 运行时 (ART) 提前编译器通过将应用软件包中的 DEX 文件转换为更紧凑的表示形式,进一步优化了压缩的 Dalvik Executable 格式 (DEX) 文件。 此项变更可让您的应用启动更快并消耗更少的磁盘空间和内存。
这种改进特别有利于磁盘 I/O 速度较慢的低端设备。......
Android 10(api29)
可折叠设备
Android 10 基于强大的多窗口支持构建而成,扩展了跨应用窗口的多任务处理能力,还提供了屏幕连续性,可以在设备折叠或展开时维持应用状态。
![可折叠设备](https://i-blog.csdnimg.cn/blog_migrate/3fdc3826cd6670181a807146a39338bb.png)
5G网络
5G 有望在稳定提升速度的同时降低延迟,Android 10 新增了针对 5G 的平台支持,并扩展了现有 API 来帮助您充分利用这些增强功能。您可以使用连接 API 来检测设备是否具有高带宽连接,还可以检查连接是否按流量计费。借助这些功能,您的应用和游戏可以为使用 5G 的用户量身打造丰富的沉浸式体验。通知中的智能回复
- Android 10 使用设备上的机器学习在通知中提供上下文操作建议,如智能回复消息或在通知中打开某个地址的地图。
![智能回复](https://i-blog.csdnimg.cn/blog_migrate/f9940979dfd5e84e81e0d8d2c6be3549.png)
深色主题
Android 10 新增了一个系统级的深色主题,非常适合光线较暗的场景并能帮助节省电量。用户转至“设置”进行相应设置或开启“省电模式”即可激活新的系统级深色主题。这会将系统界面更改为深色,并为支持深色主题的应用启用深色主题。
![深色主题](https://i-blog.csdnimg.cn/blog_migrate/40e9ddb03a14a117636f28c9c42caed4.png)
手势导航
Android 10 引入了全手势导航模式,该模式不显示通知栏区域,允许应用使用全屏来提供更丰富、更让人沉浸的体验。
![手势导航](https://i-blog.csdnimg.cn/blog_migrate/d04439e1421c8f5cc3704e8e4a03f3ba.gif)
用户隐私设置
赋予用户对位置数据的更多控制权 - 用户可以通过新的权限选项更好地控制他们的位置数据;现在,他们可以允许应用仅在实际使用(在前台运行)时访问位置信息。
![用户现在可以选择在应用在前台运行时授予其访问位置信息的权限](https://i-blog.csdnimg.cn/blog_migrate/3b6eb0e0b953d726dfeb78e9b3b81f71.png)
在扫描网络时保护位置数据 - 用于扫描网络的大多数 API 都需要粗略位置权限。Android 10 改为要求精确位置权限
,由此来增强对这些 API 的防御。
阻止设备跟踪 - 应用无法再访问不可重置的设备标识符(可用于跟踪),包括设备 IMEI、序列号和类似标识符。设备的 MAC 地址也会默认在连接到 WLAN 网络时随机分配。
保护外部存储设备中的用户数据 - Android 10 引入了一些变更,目的是让用户更好地控制外部存储设备中的文件以及其中的应用数据。应用可以将自己的文件存储在专用沙盒中,但必须使用 MediaStore 来访问共享媒体文件,并使用系统文件选择器访问新的“下载内容”集合中的共享文件。
屏蔽意外中断 - Android 10 可阻止应用从后台启动,从后台启动会使应用意外跳转到前台并从其他应用获得焦点。
安全性
存储加密 - 搭载 Android 10 的所有兼容设备都必须加密用户数据;为了提高加密效率,Android 10 引入了我们的新加密模式Adiantum
。
默认启用 TLS 1.3 - Android 10 还默认启用 TLS 1.3,它是 TLS 标准的主要修订版本,具有性能优势和更高的安全性。
平台安全强化 - Android 10 还引入了针对平台几个关键安全区域的安全强化功能。
改进了生物识别功能 - Android 10 扩展了BiometricPrompt
框架,以支持被动身份验证方法,如人脸识别以及添加隐式和显式身份验证流程。在显式流程中,用户必须在身份验证期间明确确认 TEE 中的事务。对于需要被动身份验证的事务,隐式流程是一种更轻量的替代方案。Android 10 还改进了按需回退设备凭据的流程ART 优化
在运行时,Android 10 向 ART 的并发复制 (CC) 垃圾回收器添加了分代垃圾回收功能,以节省垃圾回收的时间并提高 CPU 效率,减少卡顿,同时帮助应用在低端设备上更顺畅地运行。
![启动时间的缩短幅度](https://i-blog.csdnimg.cn/blog_migrate/1ff72c2bb518322b949408160250594b.png)
通过公共 API 实现兼容性
Android 10 继续增加了对非 SDK 接口的限制,以便应用逐步转为仅使用公共 API。(target version 为29时才会生效)......
参考资料
Google官方文档
Android5.0/6.0/7.0/8.0各个版本Api重要变更
Android 8.0新特性(看这篇文章就够了)