Android 各大版本

  • Android 版本的列表
  • 一、安卓4.X
  • 二、安卓5.X
  • 三、安卓6.X
  • 四、安卓7.X
  • 五、安卓8.X
  • 六、Android P(预览版)
  • 七、Android Pie(正式版)
  • 八、Android 10.0
  • 创新技术和新体验
  • 用户隐私设置
  • 安全性
  • 摄像头和媒体
  • 连接性
  • 九、Android 11
  • 隐私设置
  • 权限更新
  • 安全性
  • 性能和调试
  • 与其他应用交互
  • 新功能


Android 版本的列表

android版本的区别 是一个高频面试点,今天总结一下这个版本之间的区别,有借鉴,也有总结。

一、安卓4.X

  1. 只提供了一下版本,同时支持手机、平板、电视等设备
  2. 新的一个UI 界面开始脱离IOS风格
  3. 重新恢复开源,3.0之前是不开源的

参考 android 4.4 API

二、安卓5.X

这是一个里程碑的版本

  1. “Material Design”中文名 材料设计,安卓界面开发采用卡片化,扁平化,在原来的XY轴的基础上添加Z轴的设计理念。
  2. 添加更多类型的传感器。
  3. 添加卡片显示的后台进程查看
  4. 添加通知栏浮动通知
  5. 添加了新的摄影技巧以及虚拟摄像机API,为开发者提供更丰富的摄像头控制
  6. 多核处理器优化 为双核手机,多核手机开始优化
  7. 集成Google电视和Chrome OS的智能停放
  8. Android运行时由Android核心库集和Dalvike虚拟机改成Android核心库集和ART。两者的区别就是Dalvike虚拟机采用了一种被称为JIT(just-in-time)的解释器进行动态编译,而ART模式则在用户安装App是进行预编译AOT(Ahead-of-time)。将android5.X的运行速度提高了2倍左右。

参考 android 5.1 API

三、安卓6.X

  1. 动态权限的出现,这是对安卓开发最大变化。
  2. Doze电量管理功能,在“Doze”模式下,手机会在一段时间未检测到移动时,让应用休眠清杀后台进程减少功耗,谷歌表示,当屏幕处于关闭状态,平均续航时间提高30%,这个区别于IOS的墓碑机制。在安卓开发,需要后台运行时,最好在前台留有进程,防止被误杀。
  3. 从Android6.X起,Ecilpse ADT不再更新支持Android开发。
  4. 指纹识别 android 6.0能提供原生的指纹识别API
  5. 谷歌还加入了Android Pay进一步强化移动支付,同时也是为了对抗Apple Pay。
  6. 更完整的权限管理在此前的原生安卓系统中有应用通知管理功能,但更为深入的应用权限管理只能靠第三方应用实现。

参考 android 6.0 API

四、安卓7.X

  1. 分屏任务的实现-两个应用共存一个屏幕
  2. Doze电量管理的优化
  3. 更便捷的通知栏,自动将多条通知合并
  4. 引入了全新的VulkanAPI 图形处理器API,可以大幅减少系统动画对CPU的占用
  5. 支持app应用签名v2的打包方式
  6. 通知消息快捷回复
  7. 通知消息归拢
  8. 夜间模式
  9. 流量保护模式
  10. 系统级电话黑名单功能

参考:android 7.0 开发者版本

五、安卓8.X

  1. 安装未知来源的第三方开关被移出,变成了每次安装未知的第三方都要手动授权
  2. 通知功能的改变,应用收到通知时,会在应用的右上角显示一个红点,长按会跳出一个弹出菜单
  3. 画中画功能的加入
  4. 支持自动填写的功能
  5. 通知通道
  6. 自动调整TextView
  7. 自适应图标
  8. 宽色域
  9. ava 8语言API
  10. 多显示器支撑
  11. 通知点
  12. 自动填充框架
  13. 快捷钉扎
  14. WebView 特性
  15. 媒体特征
  16. 神经网络API
    [非常多,这里只是总结了一个总的标题]

参考:android 8.0功能

六、Android P(预览版)

  1. WIFI RTT进行室内高精度定位
  2. 对凹口屏幕的支持,提供API供开发者开发
  3. 对多摄像头的开发支持
  4. 处理图像解码,提供ImageDecoder替换原来BitmapFactory
  5. 加大了对Kotlin的支持,对编译器进行优化

参考 android 9.0 API

七、Android Pie(正式版)

  1. 动态电量变化。利用机器学习技术对系统资源进行有限分配
  2. 文本识别与Smart Linkify
    利用机器学习模型,能够识别出类似日期或者航班这样的信息。此外,Smart Linkify还允许开发者通过Linkify API使用文本识别模块完成多项操作。
  3. 新增神经网络API1.1
    增加了9个新算子的支持,分别是Pad、BatchToApaceND、SpaceToBatchND、TransPose、Strided Slice、Mean、DIv、Sub和Squeeze。
  4. 凹口屏的支持
  5. 增加文本放大镜
  6. 默认使用HTTPS
  7. 隐私权限的优化
  8. 通过WI-FI RTT室内定位

参考 android 9.0 API

八、Android 10.0

创新技术和新体验

  1. 可折叠设备
  2. 5G 网络
  3. 通知中的智能回复
  4. 深色主题
  5. 手势导航 要实现这一点,应用应使用 setSystemUiVisibility() API 以全屏模式布局,然后相应地处理 WindowInsets,以确保重要的界面区域未被遮挡。
  6. 设置面板
  7. 共享快捷方式

用户隐私设置

  1. 赋予用户对位置数据的更多控制权
  2. 在扫描网络是保护位置数据
  3. 防止设备跟踪
  4. 保护外部存储设备中的用户数据
  5. 屏蔽意外中断

安全性

Android 10 在这里引入了多项功能,可通过加密、平台安全强化和身份验证方面的改进为用户提供更高的安全性。

  1. 存储加密 提供了新的加密模式 Adiantum
  2. 默认启用TLB 1.3 具有性能优势和更高的安全性
  3. 平台安全加强
  4. 改进了生物识别功能 拓展了BiometricPrompt

摄像头和媒体

  1. 照片的动态深度
  2. 捕获播放的音频
  3. 新的音频和视频编解码器
  4. 原生 MIDI API
  5. 可缩放的定向麦克风
  6. Vulkan 无处不在

连接性

  1. 改进了点对点连接和互联网连接
  2. WLAN 性能模式
    参考 Android 10.0

九、Android 11

隐私设置

Android 11基于原先版本对隐私方面做了比较大的更改,增加了多种功能,和更新,用以保障用户的安全性并提高透明度和可控性。

  1. 单次授权
    让用户可以选择授予更多对位置信息、麦克风和摄像头的临时访问权限。
  2. 权限对话框的可见性
    一再拒绝某项权限表示用户希望“不再询问”。
  3. 数据访问审核
    深入了解您的应用在何处访问私密数据,无论是在您的应用自己的代码中,还是在依赖库的代码中。
  4. 系统提醒窗口权限
    根据请求自动向某些类型的应用授予 SYSTEM_ALERT_WINDOW 权限。此外,包含 ACTION_MANAGE_OVERLAY_PERMISSION intent 操作的 intent 始终会将用户转至系统设置中的屏幕。
  5. 永久 SIM 卡标识符
    在 Android 11 及更高版本中,使用 getIccId() 方法访问不可重置的 ICCID 受到限制。该方法会返回一个非 null 的空字符串。如需唯一标识设备上安装的 SIM 卡,请改用 getSubscriptionId() 方法。订阅 ID 会提供一个索引值(从 1 开始),用于唯一识别已安装的 SIM 卡(包括实体 SIM 卡和电子 SIM 卡)。除非设备恢复出厂设置,否则此标识符的值对于给定 SIM 卡是保持不变的。
  6. 强制执行分区存储机制
    更新您的应用以使用分区存储 详细了解分区存储变更
  7. 自动重置权限
    要求用户阻止系统重置应用的权限详细了解自动重置权限
  8. 后台位置信息访问权限
    通过对权限请求方法的多次单独调用,逐步请求在前台(粗略或精确)和后台访问位置信息的权限。必要时,说明用户授予该权限所能得到的益处详细了解 Android 11 中的在后台访问位置信息的权限
  9. 软件包可见性
    将 元素添加到应用的清单详细了解软件包可见性
  10. 前台服务
    分别针对需要访问摄像头和麦克风的前台服务,声明 camera 和 microphone 前台服务类型。但请注意,应用在后台运行时启动的前台服务通常无法访问位置信息、摄像头或麦克风。详细了解前台服务的变更

权限更新

  1. 单次授权
    从 Android 11 开始,每当应用请求与位置信息、麦克风或摄像头相关的权限时,面向用户的权限对话框会包含仅限这一次选项。如果用户在对话框中选择此选项,系统会向应用授予临时的单次授权。
  2. 自动重置未使用的应用的权限
    如果应用以 Android 11 或更高版本为目标平台并且数月未使用,系统会通过自动重置用户已授予应用的运行时敏感权限来保护用户数据。此操作与用户在系统设置中查看权限并将应用的访问权限级别更改为拒绝的做法效果一样。如果应用遵循了有关在运行时请求权限的最佳做法,那么您不必对应用进行任何更改。这是因为,当用户与应用中的功能互动时,您应该会验证相关功能是否具有所需权限。
  3. 权限对话框的可见性
    从 Android 11 开始,在应用安装到设备上后,如果用户在使用过程中多次针对某项特定的权限点按拒绝,那么在您的应用再次请求该权限时,用户将不会看到系统权限对话框。
  4. 系统提醒窗口变更
    在 Android 11 中,向应用授予 SYSTEM_ALERT_WINDOW (显示系统窗口权限)权限的方式发生了一些变更。这些变更可以让权限的授予更有目的性,从而达到保护用户的目的。
  5. 电话号码
    Android 11 更改了您的应用在读取电话号码时使用的与电话相关的权限。

安全性

  1. SSL 套接字默认情况下使用 Conscrypt SSL 引擎
    Android 的默认 SSLSocket 实现基于 Conscrypt。从 Android 11 开始,该实现是在 Conscrypt 的 SSLEngine 之上内部构建的。
  2. Scudo Hardened Allocator
    Android 11 在内部使用 Scudo Hardened Allocator 为堆分配提供服务。Scudo 能够检测并减轻某些类型的内存安全违规行为。如果您在原生代码崩溃报告中发现与 Scudo 相关的崩溃(例如 Scudo ERROR:),请参阅 Scudo 问题排查文档。
  3. 应用使用情况统计信息
    为了更好地保护用户,Android 11 将每个用户的应用使用情况统计信息存储在凭据加密存储空间中。
  4. 针对 5G 的模拟器支持

性能和调试

  1. JobScheduler API 调用限制调试
  2. 文件描述符排错程序 (fdsan)
  3. 非 SDK 接口限制
  4. V1 版 Google 地图共享库已移除

与其他应用交互

  1. 分享内容 URI
    如果您的应用与其他应用分享内容 URI,相应 intent 必须至少设置以下 intent 标记中的一个,以便授予对 URI 的访问权限:FLAG_GRANT_READ_URI_PERMISSION 和 FLAG_GRANT_WRITE_URI_PERMISSION。这样一来,如果其他应用以 Android 11 为目标平台,相应应用仍可访问内容 URI。即使内容 URI 与不属于您的应用的内容提供程序相关联,您的应用也必须包含 intent 标记。

新功能

  1. 新体验
    1. 设备控件
    2. 媒体控件
    3. 屏幕
    - 更好的支持瀑布屏
    - 合页角度传感器和可折叠设备
    4. 对话
    - 改进了会话
    - 聊天气泡
    5. 5G图标显示
  2. 隐私性 -详情请看 隐私设置部分
  3. 安全
    - 生物识别身份验证机制更新
    - 身份验证类型
    - 确定用户所用的身份验证类型
    - 对"每次使用时进行身份验证"密钥的额外支持
    - 安全共享大型数据集
    - 因 OTA 更新而重启设备后在未提供用户凭据的情况下执行文件级加密
  4. 性能和质量
  1. 无线调试
    Android 11 支持通过 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。
  2. ADB 增量 APK 安装
  3. 使用原生内存分配器进行错误检测
  4. Neural Networks API 1.3
  5. 文本和输入
  6. 媒体
  7. 网络连接
  8. 图形
  9. 图片和相机
  10. 支持并发使用多个摄像头
  11. 无障碍功能
  1. 其他功能
  1. 应用进程退出原因
  2. 资源加载器
  3. APK签名方案V4
  4. 动态Intent 过滤器
  5. 自动个填充增强功能
  6. 与内容捕获服务共享数据

参考 Android 11.0

以上有部分内容是借鉴其他博客,出于整理的目的进行摘录,今后新版本面世,进行继续补充!!