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 等。
相关推荐
兄弟加油,别颓废了。3 小时前
ctf.show_web3
android
火柴就是我3 小时前
代码记录android怎么实现状态栏导航栏隐藏
android·flutter
梦里花开知多少3 小时前
浅谈ThreadPool
android·面试
帅次3 小时前
单例初始化中的耗时操作如何拖死主线程
android·webview·android runtime
用户0874881999173 小时前
Android 资源类型全解析及四大常用布局资源深度指南
android
火锅鸡的味道4 小时前
解决AOSP工程Android Studio打开卡顿
android·python·android studio
2501_915921434 小时前
2026 iOS 上架新趋势 iOS 发布流程模块化
android·ios·小程序·https·uni-app·iphone·webview
毕设源码-钟学长4 小时前
【开题答辩全过程】以 基于Android的高校二手交易系统为例,包含答辩的问题和答案
android