Android 系统新特性

Android L(5.0)

对齐唤醒机制

API JobScheduler,用于自动协调统一、压缩所有应用的推送触发时机,缓解CPU唤醒时机碎片化耗电问题

Material Design

Google主推的UI交互风格统一解决方案,AlertDialog等可视化组件可通过v7 support包导入提供Material Design风格的新界面
Material 风格的 Dialog 的使用 -

锁屏通知、可扩展通知

锁屏界面用于显示通知消息,不能添加自定义Widget到锁屏界面,此外通知变为可扩展模式

Smart Lock

可设置授信场景(如连接信任Wifi、蓝牙设备,所在GPS地点等),自动判断在授信场景状态下免密码锁定,或更换密码模式等,但使用第三方锁屏应用时会产生不兼容问题

功能相关

  • 静默模式脸部识别解锁,在用户查看锁屏通知时自动后台进行脸部识别解锁,不显示额外信息打扰用户
  • 访客模式,可在通知中心中一键启动访客模式,主用户隐私信息自动隐藏,访客模式中的数据可随时清理
  • Screen Pinning模式,可指定设备当前唯一可用App,未授权情况下无法脱离该App
  • 优先模式,指定收藏的App或联系人才允许显示通知信息,消除无谓信息打扰,取代传统静音模式
  • Tap & Go 数据迁移,更换设备时,可利用NFC模块,实现整机数据迁移恢复,也可手动登陆Google账号,手动恢复在线备份

性能相关

  • 彻底使用 ART 模式替代传统的 Dalvik 虚拟机,以预编译方式加快应用启动速度
  • 支持64位CPU,在使用多媒体解码等硬件相关低级接口时需要考虑
  • 省电模式(Battery Saver)在低电量时自动开启,停止非必要震动反馈,停止后台App推送等唤醒,同时降低性能功率

Android M(6.0)

App Permissions

针对App特定逻辑需要使用危险级别API时,强制App实时通知请求用户允许授权使用
权限介绍 - Google developer
(危险)权限分组 - Google developer
权限申请

Doze

系统待机状态时(灭屏+运动静止)自动关闭高消耗的后台API使用,如网络访问、大量CPU运算等(可设置白名单)
Doze介绍 - Google developer
对应方案(日语)
请求用户允许免除优化 - Google developer

功能相关

  • Chrome Custom Tabs,WebView的使用数据(用户名、密码等)能与系统Chrome互通,实现WebView或Chrome登陆账户时自动填写功能
  • App Links,自动识别链接对应的最佳App
  • Android Pay,开放支付平台
  • Fingerprint Reader,指纹识别

Android N(7.0)

流量保护(Data Saver)

可控制App的流量使用权限,开启后除GMS(Google移动服务)外,默认禁止后台大量消耗移动流量

近期应用数理限制

最近使用应用列表的应用数理上限被限制为七个

多窗口模式

支持分屏多任务运行,长按 Recent键(多任务键)启动/关闭,支持数据拖放传递,需要更新应用代码支持(如动态宽高比,解决非固定尺寸比例画面适配问题)

Smart Lock Passwords

自定义App和Chrome浏览器自动记忆账号密码,并同步到Google账号,需要App支持,要求Android 2.3及以上、 Google Play Services 9.8及以上,通过 com.google.android.gms:play-services-auth 提供的API进行集成
集成Smart Lock Passwords支持 - Google developer

通知直接回复

可在通知消息上直接发送回复消息,不需等待打开对应App,需要App支持

优化Doze

扩展作用范围至灭屏后的所有时间段(M中作用范围限制于灭屏+运动静止状态)

使用OpenJDK替换Java API

鉴于与甲骨文的Java私有接口使用权诉讼案结果,转用 OpenJDK 替代原生 Java SDK

功能相关

  • 可调显示尺寸,包括整体显示尺寸比例和字体图标等
  • VR模式,原生支持VR显示,同时推出“白日梦”VR平台
  • 快速更改通知设定,长按某一通知,可快速指定该应用的通知提醒可用模式,如声音、震动、静音、禁用等
  • 快速切换App,快速点按两次 Recent键 可立即切换到上个App
  • 支持可选系统语言偏好,不再统一缺省默认为英语,以优化国际化语言选择方案

其他开发相关

  • 内置集成ICU4J库,方便根据地区语言习惯,对数字、日期、字符串等格式进行转换匹配、搜索整理排序等功能
  • 支持Java 8语法(非全面支持,但必须使用JDK8进行编译,如可用静态接口、Lambda、重复注解等),需要导入Jack编译工具链(开源套件,负责打包、压缩、混淆、MultiDex等,取代ProGuard混淆)

Android O(8.0)

Notification Channels

Notification通知在8.0系统上必须指定一个自定义通知频道名进行发送,同时可指定其归属于某个自定义频道分组,用户可通过系统配置管理界面或长按Notification,对该App的每个通知频道进行单独开关控制。可对每个频道指定默认优先级,或设置自定义的提示方式,如声音、闪光或震动模式等。未指定通知频道的通知将无法显示。

PIP画中画模式

Activity生命周期不变,但追加了新接口,用于设置在画中画模式的属性变更,当App处于画中画模式时,其Activity将处于Pause状态,但界面内容会继续显示。

Activity新增了以下方法来支持 PIP:

  1. Activity.enterPictureInPictureMode(PictureInPictureArgs args):
    将Activity置于 PIP 模式之下。
  2. Activity.setPictureInPictureArgs():
    用于更新 Activity 在 PIP 模式下的设置。如果 Activity 正处于 PIP 模式之下,那么更改的属性将立即生效。

Adaptive Icons自适应桌面图标

可以通过多张图片的组合,由系统裁切生成适配系统UI风格的桌面图标形状,并自动追加阴影。

Pinning shortcuts

像网页快捷方式图标一样,生成某个单一任务的App快捷方式图标入口到桌面上。

开发指南

  1. 首先使用 isRequestPinShortcutSupported() 方法校验手机是否支持启动这种快捷方式。
  2. 创建 ShortcutInfo 对象。
  3. 用 requestPinShortcut() 方法应用 Pinning shortcuts。你可以通过 PendingIntent 来通知你的 shortcuts 有没有创建成功。

其他特性

  • Auto-Fill,方便用户在不同 APP 之间填写信息。
  • 开放 android.permission.ANSWER_PHONE_CALLS,以后在自己的 APP 里也可以对来电做响应。
  • 特殊权限中增加安装其他应用权限,可控制App诱导安装其他无关应用程序。
  • 对隐式广播、后台服务和位置更新等进行了后台自动限制,以此来增加手机电池寿命。
  • 对 Java 8 Language API 和 Runtime 进行了优化,使应用的运行速度更快,手机使用更流畅。
  • 智能文本选择,在选择一串文字时将通过AI判断可适用的应用功能,如地址导航,电话,电邮等。
  • Notification Dots,应用出现未读通知时,将在桌面图标上显示小红点,长按图标将弹出信息快速预览。
  • 增加自定义字体支持
  • 增加WiFi感知热点通讯功能

你可能感兴趣的:(Android 系统新特性)