Android各版本主要新特性

Android 5

  1. Dalvik退出,ART正式成为唯一的运行环境。AOT(预编译)被引入。
  2. Material Design被引入。卡片式展示;可使系统主题颜色随APP变化。

Android 6

  1. 引入运行时权限。6.0之前所有权限是在安装时检查,用户同意赋予所有APP请求的权限,APP就可以继续安装,不同意其中的任何一项权限,APP无法继续安装。6.0开始,权限被分为普通权限和敏感权限,普通权限只要声明了就可以赋予,即安装时自动授予;敏感权限则是在要使用时再检查,如,点击了拍照按钮,在调用相机前需要程序主动申请(弹出请求弹框)相机权限,用户同意给相机权限,才能使用相机,否则相机不可用。
  2. 指纹识别原生支持:提供统一的指纹 API,用于解锁、支付等。
  3. Doze(瞌睡模式)与APP StandBy(应用待机模式)。瞌睡模式会让手机在长时间没有操作使用的情况逐步切断网络、CPU唤醒、后台任务等,进入一种省电模式。应用待机模式如果一个应用没有被用户主动启动(例如点开图标)或没有在前台运行,且没有持有唤醒锁,系统会将其标记为"空闲"状态,限制该应用的后台网络活动。

Android 7

  1. 重新引入了JIT(即时编译),不再在应用安装时预编译为机器码,而是JIT+基于profile文件的方式,避免了安装应用耗时。
  2. 多窗口支持。可同时展示两个应用。
  3. APK签名方案V2。

Android 8

  1. 引入了通知渠道。通过渠道可将通知分为多个类别,例如私信、广告、评论等,用户可根据不同渠道选择是否让该类通知显示。在这之前没有分类,用户只能决定该应用的通知是全都显示,还是全都不显示。
  2. 不允许创建后台服务,必须启动前台服务且有通知显示出来。
  3. 长按图标,会有菜单弹出。
  4. 权限管控更精细。8之前如果应用在 AndroidManifest.xml 中同时声明了同一权限组的多个权限(如 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE),只要用户授予了组内任意一个权限,系统会自动、静默地把该组内所有在清单中声明的其他权限也一并授予。开发者无需再次请求。android 8开始只授予应用明确请求的那一个权限。同组的其他权限不会被自动获得,不过后续当应用再次请求该组内的其他权限时,系统会直接批准,不会再弹出授权弹窗,用户完全无感知。

Android 9

  1. 多摄像头支持。
  2. 限制非活动应用的后台访问:后台应用无法访问麦克风、相机,且传感器数据受限。
  3. HTTP 明文流量默认禁用:网络请求默认使用 HTTPS,若需 HTTP 需在 manifest 中配置 usesCleartextTraffic。
  4. 前台服务权限:使用前台服务需声明 FOREGROUND_SERVICE 权限,且需在通知中展示。

Android 10

  1. 分区存储(Scoped Storage):应用默认只能访问自身私有目录和媒体库(通过 MediaStore),访问其他文件需用户通过 Intent.ACTION_OPEN_DOCUMENT 等系统选择器。
  2. 后台位置权限限制:申请后台位置权限需在 manifest 中声明 ACCESS_BACKGROUND_LOCATION,且需单独请求。
  3. 设备标识符限制:无法获取不可重置的设备 ID(如 IMEI、序列号),需使用 getAndroidId() 等替代。
  4. 深色主题:支持系统深色模式,需通过 AppCompatDelegate.setDefaultNightMode 或资源目录(night 限定符)适配。
  5. 后台启动 Activity 限制:应用在后台时无法启动 Activity,需使用通知或 PendingIntent 等方式。

Android 11

  1. 分区存储强制执行:无论 targetSdkVersion 多少,所有应用均受分区存储限制,仅媒体和文件选择器可访问共享存储。
  2. 一次性权限:请求位置、麦克风、相机时可授予"仅此一次",应用需正确处理权限被重置的情况。
  3. 自动重置权限:用户长时间未使用应用,系统自动重置所有运行时权限。

Android 12

  1. 应用休眠(App Hibernation):长时间未使用的应用,系统可重置权限并清除缓存文件。
  2. 启动画面(Splash Screen):引入新的 SplashScreen API,统一应用启动页体验。

Android 13

  1. 通知权限:发送通知需在运行时请求 POST_NOTIFICATIONS 权限,否则通知将被系统拦截

Android 14

  1. 前台服务类型:前台服务必须声明 foregroundServiceType,如 dataSync、mediaPlayback 等。
相关推荐
安卓程序员_谢伟光1 小时前
m3颜色定义
android·compose
麻辣璐璐2 小时前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
北京自在科技2 小时前
谷歌 Find Hub 网页端全面升级:电脑可直接管理追踪器与耳机
android·ios·安卓·findmy
Rush-Rabbit2 小时前
魅族21Pro刷ColorOS16.0操作步骤
android
爪洼传承人2 小时前
AI工具MCP的配置,慢sql优化
android·数据库·sql
学习使我健康3 小时前
MVP模式
android·github·软件工程
xiangxiongfly9153 小时前
Android MMKV
android·mmkv
北漂Zachary4 小时前
PHP3.0:改变Web开发的里程碑
android·php·laravel
fundroid4 小时前
Google 发布 Android Skill & Android CLI:大幅提升 Android Agent 能力
android·agent·cli·skill
seabirdssss5 小时前
Flutter 开发环境配置
android·windows·flutter·adb