一、Android 4.x
- 新锁屏界面:
Android4.0重新设计了锁屏幕UI,下方的解锁虚拟按键向周围发射出微光,轻轻拖动就可以解锁,比原来在UI上确实有很大的进步。 - 全新Widget排列:
主屏幕上的Widget插件是Android区别于其他系统最大的特点,新的Widget将会像程序界面那样排列。程序和Widget插件分为两个标签,清楚明了。 - 更直观的程序文件夹:
现在直接拖动程序到另一个程序图标上会生成文件夹,像iOS所作的那样,但区别在于拖动联系人快捷方式会生成一个快速拨号快捷方式,很智能,比原来便捷很多。 - 人脸识别解锁:
Google在现场进行了演示,虽然最开始遇到点小麻烦失败了,但人脸识别解锁对于安全性保障还是挺有必要的。 - 截屏功能:
同时按下电源键和音量“下”即可,对于反馈系统Bug和分享手机信息是一个很实用的升级。 - 全新通知栏:
现在在锁屏界面也可以下拉通知栏查看新通知。如果不想要某条通知,水平滑动即可取消。 - 语音识别的键盘:
现场识别中Androd4.0将Man识别成了Map,但令人惊讶的是它识别出了笑脸符号:-)的英文。用户可以通过增强的语音输入来发短信。 - 浏览器:
全新浏览器支持最多16个活动标签页,同样的,扔掉即可关闭某个标签页。而且直接支持存储网页进行离线浏览
二、Android 5.x
- Material design
Material design算是Android 系统风格的里程碑,其3D UI风格新颖,贴近人机交互; - 改善通知栏,提升可视化、亲近性、可编辑性。同时支持手机在锁屏状态也可接收到通知,用户可以在锁屏状态下,设置接收全部应用的通知或者接收部分应用的通知或者不接收所有应用的通知;
- 系统由以往的Dalvik模式改为采用ART(Android Runtime)模式,实现ahead-of-time (AOT)静态编译与just-in-time (JIT)动态编译交互进行;
- V7中引入CardView和RecycleView等新控件;
- 支持64位系统;
Material Design在主题样式的使用:
作为我们开发者,最关心的还是如何在项目中使用Material Design风格:
设置应用的 targetSdkVersion 和 targetSdkVersion 为21
在values目录下的style资源文件中创建一个style,让其继承自 android:Theme.Material
在AndroidManifest中指定应用的主题或者Activity的主题为我们设定的样式
谷歌官方我们提供了三种配色风格的Material Design样式:
黑色主题 Theme.Material
明亮主题 Theme.Material.Light
明亮主题黑色ActionBar Theme.Material.Light.DarkActionBar
我们也可以继承系统提供的Material Design样式,进行配色修改:themecolor
android:colorPrimaryDark应用的主要暗色调,statusBarColor默认使用该颜色
android:statusBarColor状态栏颜色,默认使用colorPrimaryDark
android:colorPrimary应用的主要色调,actionBar默认使用该颜色
android:windowBackground窗口背景颜色
android:navigationBarColor底部栏颜色
android:colorForeground应用的前景色,ListView的分割线,switch滑动区默认使用该颜色
android:colorBackground应用的背景色,popMenu的背景默认使用该颜色
android:colorAccent 一般控件的选种效果默认采用该颜色
android:colorControlNormal 控件的默认色调
android:colorControlHighlight控件按压时的色调
android:colorControlActivated控件选中时的颜色,默认使用colorAccent
android:colorButtonNormal默认按钮的背景颜色
android:textColor Button,textView的文字颜色
android:textColorPrimaryDisableOnly RadioButton checkbox等控件的文字
android:textColorPrimary 应用的主要文字颜色,actionBar的标题文字默认使用该颜色
主题不仅可以对Application和Activity使用,也可以对某一个控件单使用,或者是在xml布局中给一个根节点控件设置Android:theme属性,来修改它和它所有子控件的主题。
如果我们要对特定控件实例做自定义修改,更建议大家可以通过控件自身的API进行设置修改。
三、Android 6.x
- 新增运行时权限概念
Android6.0或以上版本,用户可以完全控制应用权限。当用户安装一个app时,系统默认给app授权部分基础权限,其他敏感权限,需要开发者自己注意,当涉及敏感权限时,开发者需要手动请求系统授予权限,系统这时会弹框给用户,倘若用户拒绝,如果没有保护,app将直接崩溃,倘若有保护,app也无法使用相关功能。 - 新增瞌睡模式和待机模式
瞌睡模式:当不碰手机,手机自动关闭屏幕后,过一会,手机将进入瞌睡模式。在瞌睡模式下,设备只会定期的唤醒,然后继续执行等待中的任务接着又进入瞌睡;
待机模式:假如用户一段时间不触碰手机,设备将进入待机模式。在这个模式下,系统会认为所有app是闲置的,这时系统会关闭网络,并且暂停app之前正在执行的任务。 - 移除对Apache HTTP client的支持,建议使用HttpURLConnection。如果还是想用Apache HTTP client,
那么需要在build.gradle中添加
android {
useLibrary 'org.apache.http.legacy'
}
- Doze电量管理
Android 6.0自带Doze电量管理功能,在“Doze”模式下,手机会在一段时间未检测到移动时,让应用休眠清杀后台进程减少功耗,谷歌表示,当屏幕处于关闭状态,平均续航时间提高30%。
四、Android 7.x
- 通知栏快捷回复
在Android N上,Android对通知栏进行了进一步的优化,其中一个非常大的改变就是让用户可以在通知栏上直接对通知进行回复,这对于一些IM类的App来说,提供了更加友好的回复功能。 - 加入原生分屏多任务功能,多任务快速切换
- VR
Android N上对VR的支持,实际上是使用了一个新的跨平台图形计算库——Vulkan,Vlukan API提升处理能力,减少GPU处理,从而获得更佳的游戏体验,所以说,如果一个手机支持VR,那么从某种意义上来说,这个手机的性能应该是很赞的! - 引入全新的JIT编译器,使得App安装速度快了75%,编译代码的规模减少了50%
- 安全:更安全的加密模式,可以对单独的文件进行加密,android系统启动加密
五、Android O(安卓8.0)
-
画中画
Android O中,谷歌更加强调多任务处理场景中的流畅性,在I/O2017上,谷歌演示了增强功能的画中画模式,为用户带来不同应用程序间的流畅操作体验。例如用户可以在Netflix上观看电影,支持将电影屏幕缩小成悬浮窗口,在看电影的同时进行查看日历、搜索信息等其他工作,这和普通的画中画分屏模式并不相同。这一功能的唤醒只需要点击Home键按钮,如果想结束这一模式,可以将小窗口滑下来以终止。
Notification Dots
在Android O之前,使用安卓手机的用户,想要看到哪些应用程序推送了通知,可能只有在下拉通知中心中看到,但在Android O中,谷歌对安卓的通知功能做出了改进,这就是全新的Notification Dots功能,它是位于应用程序图标之上的小小的循环点,只有当应用出现未读通知时,它才会出现。这时候长按应用程序图标,就会以类似气泡的形式快速预览。而在通知中心中删除这些未读通知,应用图标上的标记点也会消失。自动填充(Auto-Fill)
对于用户设备上最常用的应用,Android O将会帮助用户进行快速登录,而不用每次都填写账户名和密码。例如当用户使用一个新设备时,可以从Chrome中提取已经保存的账户名和密码,选择之后,自动填充功能便可以在本地进行,适用于你可能用到的大多数应用程序。开发人员也需要对其应用程序进行优化,让其应用程序能够和自动填充功能更好地兼容。自适应图标(Adaptive icons)
Adaptive icons也是一项有趣的新功能,谷歌正在尝试整理Android中不一致的应用程序图标形状,这一功能为应用程序开发人员提供了适应其显示设备的每个图标的多个形状模板。因此,如果你的手机默认应用程序图示形状是圆角正方形,那么所有应用程序的图标都将是这个形状(前提是开发人员使用了这一功能)。也就是说,你将不再看到系统主屏上方形图标和圆形图标混合在一起的现象。后台进程限制
谷歌表示一直在优化安卓Android的后台应用限制策略,以最大程度减小后台应用对电池的消耗和对资源的占用。在Android O的更新中,当应用被置入后台后,Android O将自动智能限制后台应用活动,主要会限制应用的广播、后台运行和位置,但应用的整体进程并没有被杀掉。不过,部分层级比较重要的应用可以不受限制,但总的来说,Android O将严格限制后台进程对手机资源的调用。-
运行时权限策略变化
- 在 Android O 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。
- 对于针对Android O的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。
例如,假设某个应用在其清单中列出
READ_EXTERNAL_STORAGE
和WRITE_EXTERNAL_STORAGE
。应用请求READ_EXTERNAL_STORAGE
,并且用户授予了该权限,如果该应用针对的是API级别24或更低级别,系统还会同时授予WRITE_EXTERNAL_STORAGE
,因为该权限也属于STORAGE权限组并且也在清单中注册过。如果该应用针对的是Android O,则系统此时仅会授予READ_EXTERNAL_STORAGE
,不过在该应用以后申请WRITE_EXTERNAL_STORAGE
权限时,系统会立即授予该权限,而不会提示用户。
六、Android P 开发者预览版
- 使用 WiFi RTT 进行室内定位
Android P 为 IEEE 802.11mc WiFi 协议添加了平台支持 (也称为 WiFi 往返时间,RTT),这可以让您在应用中使用室内定位。
拥有硬件支持的 Android P 设备可以让您的应用使用 RTT API 测量与附近 WiFi 接入点 (AP) 的距离,设备不需要连接到 AP 便可以使用 RTT。为了保持隐私,只有手机能够确定距离,AP 无法做到这一点。
通过测量从设备到三个或更多 AP 的距离,您可以以 1 到 2 米的精度确定设备位置。这种精确度允许您创建更多新的体验:室内导航、基于位置的细粒度服务,例如,模糊语音控制 ( "打开这里的灯" ) ;基于位置的资讯服务 ( "这些优惠是针对这个产品的吗?" )。 - 凹口屏幕的支持
现在应用可以充分利用最新的全面屏设备来展示内容。我们在 Android 平台加入了对凹口屏幕的支持,並提供 API 供您使用,从而管理内容展示方式。
本功能可以在应用中无缝工作,系统会管理状态栏的高度从而将您的内容与裁切区域分开。如果您拥有重要的沉浸式内容,则还可以使用新的 API 查看裁切形状并创建全屏布局。您可以调用 getDisplayCutout() 来判断本地设备是否具有凹口屏幕,然后再确定裁切区域的位置和形状。平台添加了一个新的窗口布局属性 layoutInDisplayCutoutMode 让您告诉系统如何以及何时将您的内容相对于裁剪区域进行布局。 -
消息通知的改进
在 Android P 中,我们特别重视改进通知的可视性和功能性。全新的 MessagingStyle 通知突出强调了来信人以及您可采用的回复方式。您可以显示对话,附加照片和表情,甚至使用智能回复。
- 多摄像头 API
现在,在运行 Android P 的设备上您可以通过两个或更多实体摄像头同时访问视频流。所以您可以在具有双前置或双后置摄像头的设备上,实现单摄像头无法实现的创新功能:如无缝变焦、散景和立体视觉。该 API 还允许您调用可以在两台或更多台摄像头之间自动切换的逻辑或混合摄像头视频流。支持多摄像头的 Android P 设备将在未来一年面市,我们期待您的令人振奋的新创意。
摄像头的其他改进还包括:利用新的会话参数来有效减少初始捕捉时的延迟,表面共享技术让摄像头客户端无须重启视频流便可处理各种使用情况。此外,我们还添加了基于显示器的闪光灯支持以及 API 和 OIS 时间戳的访问权限,以实现应用层面的图像稳定和特效。 - 用于位图和 drawable 的 ImageDecoder
Android P 引入了一种更简单的方法来将图像解码为位图或 drawable,即用 ImageDecoder 替代了 BitmapFactory。ImageDecoder 允许您从字节缓冲区、文件或 URI 创建位图或 drawable。它比 BitmapFactory 多出了几个优势,包括对精确缩放的支持,单步解码至硬件存储器,对解码后处理的支持,以及对动画图像的解码。 - HDR VP9 视频、HEIF 以及媒体 APIs
- JobScheduler 中的数据费用敏感度
- 神经网络 API 1.1
- 自动填充的改进
- 用于 NFC 支付和安全交易的 Open Mobile API