Android6到Android15版本新增的功能和api
Android6到Android15版本新增的功能和api
文章目录
- Android6到Android15版本新增的功能和api
- 一、前言
- 二、Android6 后的版本迭代
- 1、Android 6.0(Marshmallow,API 级别 23)
- 新增功能
- 重要 API
- 2、Android 7.0(Nougat,API 级别 24)
- 新增功能
- 重要 API
- 3、Android 8.0(Oreo,API 级别 26)
- 新增功能
- 重要 API
- 4、Android 9(Pie,API 级别 28)
- 新增功能
- 重要 API
- 5、Android 10(Q,API 级别 29)
- 新增功能
- 重要 API
- 6、Android 11(R,API 级别 30)
- 新增功能
- 重要 API
- 7、Android 12(S,API 级别 31)
- 新增功能
- 重要 API
- 8、Android 13(Tiramisu,API 级别 33)
- 新增功能
- 重要 API
- 9、Android 14(Upside Down Cake,API 级别 34)
- 新增功能
- 重要 API
- 10、Android15(Vanilla Ice Cream,API 级别 35)
- 新增功能
- 新增API
- 三、其他
- 1、各版本重要过程小结:
- 2、Android 15 的GRF平台开发说明
一、前言
目前市场上Android手机大部分都是Android11-14的版本;
2024年发布Android15了,现在已经开始准备开发Android15的系统代码了;
但是对于Android15 或者之前版本的新增功能和api都没啥印象;
本文简单总结一下,有兴趣的可以看看。
二、Android6 后的版本迭代
1、Android 6.0(Marshmallow,API 级别 23)
发布时间:2015 年 10 月
新增功能
运行时权限系统:应用在使用危险权限(如相机、联系人、位置等)时,
需要在运行时向用户请求权限,而不是在安装时一次性授予。
这增强了用户对应用权限的控制,提高了隐私安全性。原生指纹识别支持:系统级支持指纹识别传感器,
允许应用使用指纹认证功能,为用户提供更便捷、安全的身份验证方式。App Links:允许应用将特定的 URL 与自身关联,
当用户点击这些 URL 时,系统会直接打开对应的应用,而不是让用户选择打开方式。电量管理优化:引入了 Doze 模式和 App Standby 模式。Doze 模式在设备长时间闲置时限制应用的后台活动,以节省电量;App Standby 模式则会限制不常用应用的后台数据传输。
重要 API
RuntimePermissions API:用于在运行时请求和处理权限,
主要涉及 ActivityCompat.requestPermissions 和 onRequestPermissionsResult 等方法。FingerprintManager API:
提供了访问指纹识别传感器的功能,可用于实现指纹认证。
2、Android 7.0(Nougat,API 级别 24)
发布时间:2016 年 8 月
新增功能
多窗口模式:
支持分屏和画中画(PIP)模式,用户可以同时在屏幕上运行两个应用,提高了多任务处理能力。通知增强:支持通知分组,将来自同一应用的多个通知组合在一起显示;
同时引入了直接回复功能,用户可以在通知栏中直接回复消息,无需打开应用。Vulkan API 支持:引入了 Vulkan 图形 API,
为游戏和图形密集型应用提供了更高效的图形渲染能力,降低了 CPU 开销。应用快捷方式:允许用户在主屏幕上长按应用图标,快速访问应用的常用功能。
重要 API
MultiWindow API:用于支持多窗口模式,
开发者可以通过该 API 让应用适配分屏和画中画模式。Notification.Builder 增强:提供了更多的通知设置选项,如通知分组、直接回复等。Vulkan API:用于高性能图形渲染,开发者可以使用该 API 优化应用的图形性能。
3、Android 8.0(Oreo,API 级别 26)
发布时间:2017 年 8 月
新增功能
通知渠道:应用可以将通知分类到不同的渠道中,
用户可以针对每个渠道单独设置通知的优先级、声音、震动等。自动填充框架:系统提供了自动填充功能,
允许用户快速填充表单信息,如登录表单、支付表单等。画中画模式改进:对画中画模式进行了优化,
支持更多类型的应用,并且允许用户调整画中画窗口的大小和位置。后台执行限制:进一步限制了应用在后台的活动,
减少了电量消耗和系统资源占用。
重要 API
NotificationChannel API:用于创建和管理通知渠道。
AutofillManager API:支持自动填充功能,开发者可以通过该 API 让应用支持自动填充。
PictureInPicture API:提供了对画中画模式的更多控制和优化。
4、Android 9(Pie,API 级别 28)
发布时间:2018 年 8 月
新增功能
手势导航:引入了全新的手势导航系统,
取代了传统的三键导航栏,提供了更流畅、直观的操作体验。自适应电池:利用机器学习技术分析用户的应用使用习惯,智能管理应用的电池消耗,延长电池续航时间。自适应亮度:结合环境光传感器和机器学习算法,更精准地调整屏幕亮度,提升视觉舒适度。切片(Slices):允许应用在 Google 搜索、智能助手等场景
中以交互性片段的形式展示内容,无需打开应用即可完成部分操作。数字健康:提供了一系列工具,帮助用户管理自己的手机使用时间,
如应用使用时长统计、设置应用使用限制等。
重要 API
NetworkCapabilities.TRANSPORT_LOWPAN:支持低功耗无线个域网(LoWPAN),用于物联网设备通信。NotificationChannelGroup:允许开发者将通知渠道分组,方便用户管理和组织通知。
5、Android 10(Q,API 级别 29)
发布时间:2019 年 9 月
新增功能
系统级深色模式:支持系统级的深色主题,减少眼睛疲劳,同时降低 OLED 屏幕的功耗。位置访问控制增强:用户可以选择仅在应用使用期间授予位置权限,增强了隐私保护。5G 支持:优化了对 5G 网络的支持,提升了高速数据传输的性能。媒体控件改进:提供了更丰富的媒体控制界面,支持多设备媒体播放控制。折叠屏设备支持:对折叠屏设备进行了优化,支持应用在不同形态下的自适应布局。
重要 API
WindowInsetsController:简化了对窗口插入(如状态栏、导航栏)的控制,方便开发者实现沉浸式界面。ActivityResult API:替代了传统的 startActivityForResult 方法,提供了更简洁、类型安全的方式来处理活动结果。
6、Android 11(R,API 级别 30)
发布时间:2020 年 9 月
新增功能
一次性权限:允许用户授予应用一次性的敏感权限
(如位置、相机、麦克风),权限在使用后自动收回。气泡通知(Bubbles):引入了类似聊天窗口的气泡通知,
用户可以将通知以气泡形式悬浮在屏幕上,方便快速回复。媒体控制中心:整合了所有媒体播放源,提供了统一的媒体控制界面。电源菜单快捷方式:在电源菜单中添加了快捷方式,如快速启用飞行模式、蓝牙等。跨应用文件共享改进:引入了 Storage Access Framework 的改进,
支持更方便的跨应用文件共享。
重要 API
MediaSession2 API:提供了更强大的媒体会话管理功能,支持多设备、多会话的媒体播放控制。DevicePolicyManager.setCameraDisabled:
允许设备管理员禁用设备的相机功能,增强企业设备管理的安全性。
7、Android 12(S,API 级别 31)
发布时间:2021 年 10 月
新增功能
Material You 设计语言:
引入了全新的动态主题系统,允许用户根据壁纸自动生成个性化的系统主题。隐私仪表盘:
提供了一个集中的界面,展示应用对敏感权限的使用情况,增强了隐私透明度。新的通知动画和交互:通知界面采用了全新的动画效果,
支持更丰富的交互方式,如长按通知进行快速操作。自适应图标动画:应用图标支持动画效果,提升了视觉体验。对可折叠设备和大屏设备的优化:进一步优化了应用在可折叠设备和大屏设备上的布局和交互。
重要 API
WindowInsetsAnimation.Callback:支持窗口插入动画的自定义回调,开发者可以实现更复杂的动画效果。
BatteryManager.isPowerSaveModeSupported:用于检查设备是否支持省电模式。
8、Android 13(Tiramisu,API 级别 33)
发布时间:2022 年 8 月
新增功能
细粒度媒体权限:
允许用户分别授予应用访问照片、视频和音频文件的权限,增强了媒体文件的隐私保护。应用内语言选择:支持应用内独立设置语言,无需更改系统语言。新的通知权限管理:
用户可以直接在应用通知设置中选择允许或禁止应用发送特定类型的通知。对蓝牙 LE Audio 的支持:支持蓝牙低功耗音频(LE Audio),
提供更高质量的音频传输和多设备连接能力。
重要 API
MediaMetadataRetriever.getAudioChannelCount:用于获取音频文件的声道数。
PackageManager.canRequestPackageInstalls:检查应用是否有权限请求安装其他应用。
9、Android 14(Upside Down Cake,API 级别 34)
发布时间:2023 年 10 月
新增功能
个性化系统字体:用户可以选择系统范围内的自定义字体,实现更个性化的视觉效果。改进的应用兼容性:增强了对旧版应用的兼容性,确保应用在新系统上的稳定运行。数据安全与隐私增强:进一步加强了数据安全和隐私保护机制,如对敏感数据的加密和访问控制。对 AI 和机器学习的支持:
提供了更多的 AI 和机器学习相关的工具和 API,方便开发者实现智能应用。
重要 API
WindowInsetsControllerCompat.setSystemBarsBehavior:
允许开发者控制系统栏的行为,如隐藏、显示等。MediaPlayer2 API:提供了更高级的媒体播放功能,支持更多的音频和视频格式。
10、Android15(Vanilla Ice Cream,API 级别 35)
Android15 是谷歌预计在2024年发布的操作系统版本。虽然目前Android 15尚未正式发布,但根据谷歌的开发路线图和以往版本的更新趋势,可以预见Android 15将带来一系列新功能和改进。以下是Android 15可能包含的一些新增功能和API:
新增功能
1. 增强的隐私和安全功能
更严格的权限管理:进一步细化应用权限,允许用户更精确地控制哪些数据可以被应用访问。自动加密增强:提升设备数据的自动加密机制,确保数据在存储和传输过程中的安全性。隐私仪表板扩展:扩展隐私仪表板,提供更详细的隐私使用报告,
帮助用户更好地了解应用的数据访问情况。2. 用户界面和体验改进
全新的Material Design元素:引入新的设计组件和动画效果,提升整体视觉体验。
增强的多任务处理:优化多窗口模式,支持更灵活的应用分屏和窗口管理。
改进的通知系统:引入更智能的通知分类和优先级管理,减少干扰,提高用户体验。3. 性能和效率优化
更高效的电池管理:通过智能调度和后台进程优化,延长设备电池续航时间。
内存管理改进:优化内存分配机制,提升多任务处理时的流畅度。
启动速度优化:缩短设备启动时间和应用加载时间,提高整体响应速度。4. 连接性和物联网(IoT)增强
Wi-Fi 7支持:引入对Wi-Fi 7标准的支持,提供更快的网络速度和更稳定的连接。蓝牙LE Audio:增强蓝牙低功耗音频功能,提升音频传输质量和多设备兼容性。IoT平台优化:优化Android Things平台,简化物联网设备的开发和部署。
新增API
AI和机器学习API:提供更强大的AI和机器学习工具,支持开发者构建智能应用。增强现实(AR)和虚拟现实(VR)支持:扩展ARCore和VR SDK,提供更丰富的沉浸式体验。WebAssembly(Wasm)支持:引入对WebAssembly的支持,提升Web应用的性能和功能。
Android 版本的简单总结就是一年发布一个版本:
版本号就是年代数值后两位加11;
比如2024的Android 版本就是 24 + 11 = 35;
2025年发布的版本就是 36.
三、其他
1、各版本重要过程小结:
(1) Android6 添加了运行是权限
普通应用需要运行时的权限,需要弹框确认后才能申请到。(2)Android7 多窗口模式:支持分屏和画中画(PIP)模式。(3))Android9 手势导航:引入了全新的手势导航系统,取代了传统的三键导航栏(4)Android10 支持5G网络:
化了对 5G 网络的支持,提升了高速数据传输的性能。
折叠屏设备支持:对折叠屏设备进行了优化,支持应用在不同形态下的自适应布局。(5)Android11 添加一次性权限:
允许用户授予应用一次性的敏感权限(如位置、相机、麦克风),权限在使用后自动收回。(6)Android 15
私密空间:为用户提供存储私人信息的私人空间,可添加额外身份验证或选择完全隐藏。
每个版本的升级都是和系统安全稳定有关。
Android9 到 Android11 很多api发生了变化;
Android11 到 Android13 很多文件目录发生了变化,
framework wifi和bluetooth等模块大部分逻辑都放到单独的moudles的应用中;
2、Android 15 的GRF平台开发说明
Android GRF 估计很多人不清楚是啥,这个我也是开发Android15源码才知道的。
简单的说就是Android15的系统可以用Android14的开发板进行适配开发。
系统开发人员后面估计都会遇到,有兴趣的可以了解看看。
https://blog.csdn.net/wenzhi20102321/article/details/145965282
相关文章:
Android6到Android15版本新增的功能和api
Android6到Android15版本新增的功能和api 文章目录 Android6到Android15版本新增的功能和api一、前言二、Android6 后的版本迭代1、Android 6.0(Marshmallow,API 级别 23)新增功能重要 API 2、Android 7.0(Nougat,API …...
【现代Web布局与动画技术:卡片组件实战分享】
📱 现代Web布局与动画技术:卡片组件实战分享 🚀 引言 🌟 在过去的开发过程中,我们共同实现了一个功能丰富的卡片组件,它不仅美观,还具有交互性和响应式设计。这篇文章将分享这个组件背后的技术…...
计算机网络之传输层(传输层提供的服务)
一、可靠的数据传输 传输层提供可靠的数据传输服务,确保数据在传输过程中不丢失、不重复、不乱序,并且能够被正确接收。这通常通过面向连接的协议(如TCP)来实现,TCP通过确认、重传、序号等机制来保证数据传输的可靠性…...
FPGA开发,使用Deepseek V3还是R1(1):应用场景
以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…...
哈希表和STL —— unorderde_set/unordered_map【复习笔记】
1. 哈希表的相关概念 1.1 哈希表的定义 哈希表,又称为散列表,是根据关键字直接进行访问的数据结构。 它通过一个哈希函数(Hash Function),建立了一种关键字和存储地址间的直接映射关系,将每个关键字映射…...

计算机毕业设计SpringBoot+Vue.js体育馆使用预约平台(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

42 session反序列化漏洞
参考资料:3. php反序列化从入门到放弃(入门篇) - bmjoker - 博客园 session文件上传漏洞利用原理 当在php.ini中设置session.upload_progress.enabled On的时候,PHP将能够跟踪上传单个文件的上传进度。当上传正在进行时,以及在将与session…...
【Jenkins】个人向-Jenkinsfile如何写
官方参考:https://www.jenkins.io/doc/book/pipeline/syntax/ Pipeline Utility Steps 插件:https://birdbook.com.cn/ops/ci/jenkins/plugins/pipeline%20utility%20steps.html 常用环境变量 含义表达式备注params,传入参数传入参数params…...

staruml绘制时序图和用例图
文章目录 1.文章介绍2.绘制用例图3.绘制时序图 1.文章介绍 之前,我们初步介绍了这个staruml软件的安装和如何使用这个软件对于uml类图进行绘制,当时我们是绘制了这个user类,实现了相关的接口,表示他们之间的关系,在今…...

问题修复-后端返给前端的时间展示错误
问题现象: 后端给前端返回的时间展示有问题。 需要按照yyyy-MM-dd HH:mm:ss 的形式展示 两种办法: 第一种 在实体类的属性上添加JsonFormat注解 第二种(建议使用) 扩展mvc框架中的消息转换器 代码: 因为配置类继…...
Rust配置开发环境+服务器实战
https://www.cnblogs.com/skzxc/p/12129353.html 默认已经安装好MSVC。 官网https://www.rust-lang.org/zh-CN/learn/get-started安装Rust安装器,选择winodwsx64版本 运行安装,将文件夹移动到D盘,安装后,文件夹在C:\Users\xxx下…...

使用DeepSeek+KIMI生成高质量PPT
一、使用DeepSeek DeepSeek官网:DeepSeek 点击“开始对话”,进入交互页面。 在上图中,输入问题,即可获取AI生成的结果。 基础模型(V3):通用模型(2024.12),高…...
虚拟机如何设置ip
在虚拟机中设置IP地址的具体步骤会因虚拟机软件(如VMware、VirtualBox等)和操作系统(如Windows、Linux等)的不同而有所差异。以下是几种常见虚拟机软件和操作系统的IP设置方法。 --- 一、VMware中的IP设置 1.Windows虚拟机 1. 打…...

蓝桥杯 路径之谜
路径之谜 题目描述 小明冒充 XX 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nnnn 个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走…...
Git操作指南:分支合并、回退及其他重要操作
在软件开发的协作过程中,Git 作为一款强大的版本控制系统,能帮助开发者高效管理代码的各个版本和分支。本文将详细介绍 Git 中常见的分支合并、取消本地修改、回退操作等,并提供通俗易懂的解释和步骤指南。 一、分支合并 分支合并是 Git 工…...

Element Plus中el-tree点击的节点字体变色加粗
el-tree标签设置 <el-tree class"tree":data"treeData":default-expand-all"true":highlight-current"true"node-click"onTreeNodeClick"><!-- 自定义节点内容,点击的节点字体变色加粗 --><!-- 动…...

jenkens使用笔记
jenkens使用笔记 笔记使用版本是2.492.1 git仓库ssh证书配置 已开始配置一直不行,然后下载插件,多次重启等一些列操作, 后来配置就可以工作了,原因不祥,不知道哪个配置起效了。 等回来闹明白了,再补充笔记…...
腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)对比分析
腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)对比分析 腾讯混元文生图大模型(Hunyuan-DiT)与Stable Diffusion(SD)作为当前文生图领域的两大代表模型,各自…...

深入浅出理解编译器:前端视角
一、编译器究竟是什么? 在前端开发的世界里,我们经常会听到 “编译器” 这个词。就拿 Babel 来说,在它的官网上,最显眼的一句话就是:“Babel is a JavaScript compiler”。那什么是 JavaScript 编译器呢?又…...

Minio搭建并在SpringBoot中使用完成用户头像的上传
Minio使用搭建并上传用户头像到服务器操作,学习笔记 Minio介绍 minio官网 MinIO是一个开源的分布式对象存储服务器,支持S3协议并且可以在多节点上实现数据的高可用和容错。它采用Go语言开发,拥有轻量级、高性能、易部署等特点,并且可以自由…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...