安卓5.0特性
1、全新 Material Design 设计风格
谷歌希望能够让Material Design 给用户带来纸张化的体验。
l 系统自带Materialdesign主题
l 组件阴影
通过添加elevation去添加Z轴的维度和深度。CardView的使用是个好例子
l RecyclerView组件以取代ListView
l Drawable动画和样式效果。(这里应该是指Ripple Drawable之类)(Drawable animation and styling effects)
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/accent_dark">
<item>
<shape
android:shape="oval">
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
只要把drawable放到ripple元素里,很直接地改变效果,
l Material design风格的动画和activity过渡效果
当你触摸Material元素的时候,它也可以 抬起 以迎合你的手指,就像磁铁异性相吸一样。你可以通过translationZ属性动画来实现这种效果,translationZ属性与elevation相似,不过它的主要作用是做这些过渡效果。 Z = elevation + translationZ. 新的stateListAnimator属性轻松创建触摸时的Z轴动画(Buttons默认就有这效果):
示例代码:
layout/your_layout.xml
<ImageButton …
android:stateListAnimator="@anim/raise" />
anim/raise.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true">
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="@dimen/touch_raise"
android:valueType="floatType" />
</item>
<item>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="0dp"
android:valueType="floatType" />
</item>
</selector>
l 基于组件状态的Animator。(Animatorsfor view properties based on the state of the view)
l 可定制的UI组件和工具栏(这里指的应该是ToolBar)
新的activiy的封装,封装toolbar
l 基于XML的矢量动画和图形(Animatedand non-animated drawables)
2、全新的通信中心设计
设计了新的消息通知机制,同时在锁屏界面也可以直接查看通知消息了。不仅如此,用户还可以直接在锁屏的情况下就行回复或进入应用。
3、支持 64 位 ART 虚拟机
新系统放弃了之前一直使用的Dalvik 虚拟机,改用了 ART 模式。
1、提前编译(AOT)
2、增强的垃圾回收
3、增强的debug支持
适配ART的注意事项,尤其要注意的是下面的情况:
1、 你的app使用了JNI来运行C/C++代码
ART 在 Android 开源项目 (AOSP) 有正在开发中的紧凑型垃圾回收器。 一旦该紧凑型垃圾回收器投入使用,便可在内存中移动对象。 如果您使用 C/C++ 代码,请勿执行与紧凑型 GC 不兼容的操作。(ART 的 JNI 会在多种情况下引发错误,而Dalvik 则不然。(同样地,您可以通过使用 CheckJNI 执行测试来捕获大量此种情况))
2、 你使用了产生非标准代码的(比如一些代码混淆工具)
ART 会在安装时执行比 Dalvik 更严格的字节代码验证。Android 构建工具生成的代码应该没有问题。但一些后期处理工具(尤其是执行模糊处理的工具)可能会生成被 Dalvik 容忍而被 ART 拒绝的无效文件。我们已经与工具供应商合作,查找并修复此类问题。在许多情况下,获取最新版本的工具并重新生成 DEX 文件可以修复这些问题。
3、你使用了不兼容compactinggarbage collection的技术
4、Project Volta 电池续航改进计划
Project Volta 计划增加了新工具可以让开发者能够更容易的找出为何自己的应用程序会对电量产生比较大的影响,同时确保在执行某型任务时将手机电量的影响降至最低。首先,Battery Historian 可以列出手机电量消耗的详细情况,帮助开发者识别电量消耗的原因或者是哪个硬件或任务对电池寿命的影响比较大;而 Job Scheduler API 则可以让开发者更容易的选择合适的时机触发电量消耗比较高的任务,避免在低电量或未完成充电时更新应用程序。
上面是针对开发者的改进,而在用户层面上,Android Lollipop 增加了 Battery Saver 模式,这与三星和 HTC 上的超级省电模式有些类似。在低电量的时候系统会自动降低屏幕亮度、限制自动更换背景等功能。
5、WebView
Android 5.0 改变了app的默认行为。
如果你的系统target api为21以上:
系统默认禁止了 mixed content 和第三方cookie。可以使用 setMixedContentMode() 和 setAcceptThirdPartyCookies() 以分别启用。
系统现在可以智能选择HTML文档的portion来绘制。这种新特性可以减少内存footprint并改进性能。若要一次性渲染整个HTML文档,可以调用这个方法 enableSlowWholeDocumentDraw()
*如果你的app的target api低于21: *系统允许mixedcontent和第三方cookie,并且总是一次性渲染整个HTML文档。
安卓6.0特性(API23)
1、权限管理
权限管理是 Android M 最大的改变,权限管理更加精细,并且由以前的安装时静态授权,改为现在的运行时动态授权。大家对 Android 的权限吐槽已久,Android 应该能极大的改善这方面的问题。主要改变有:
l 系统设置中可以对 APP 各个权限单独控制
l 权限根据内容进行分组了
l 普通权限还是在安装时授权
l 其他权限在运行时系统弹窗授权,并且要解析使用这个权限的目的
2、指纹解锁
提供了新的 API FingerprintManager ,让第三方 APP 来用来获得指纹认证的功能。
3、相机API
提供APIsetTorchMode()来直接开关闪光灯,并且可以监听闪光灯的开光状态,以前很多 APP 已经支持用闪光灯来做手电筒,现在官方提供 API 来做这样的事情了。
从 Android 5.0 开始,就提供了一套全新的相机 API Camera2
,这里在此基础上添加了处理相关 API。
安卓7.0特性(API)
1、多窗口支持
用户可以一次在屏幕上打开两个应用。
l 在运行 Android7.0 的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时一个应用位于另一个应用之上。用户可以通过拖动两个应用之间的分隔线来调整应用。
l 在 Android TV 设备上,应用可以将自身置于 画中画模式 ,从而让它们可以在用户浏览或与其他应用交互时继续显示内容。
2、通知功能的增强
在 Android 7.0 中,我们
重新设计了
通知,使其更易于使用并且速度更快。部分变更包括:
l 模板更新:我们正在更新通知模板,新强调了英雄形象和化身。开发者将能够充分利用新模板,只需进行少量的代码调整。
l 消息传递样式自定义:您可以自定义更多与您的使用
MessagingStyle
类的通知相关的用户界面标签。您可以配置消息、会话标题和内容视图。
l 捆绑通知:系统可以将消息组合在一起(例如,按消息主题)并显示组。用户可以适当地进行拒绝或归档等操作。如果您已实现 Android Wear 的通知,那么您已经很熟悉此模式。
l 直接回复:对于实时通信应用,Android系统支持内联回复,以便用户可以直接在通知界面中快速回复短信。
l 自定义视图:两个新的 API 让您在通知中使用自定义视图时可以充分利用系统装饰元素,如通知标题和操作。
3、Project Svelte:后台优化
Project Svelte 在持续改善,以最大程度减少生态系统中一系列 Android 设备中系统和应用使用的 RAM。
3、VR 支持
安卓8.0特性
参考:https://www.qcloud.com/community/article/875259?fromSource=gwzcw.92976.92976.92976
1、通知渠道细分操作(Notification Channels)
用户可以根据通知渠道进行细分控制,而不是同一管理应用的所有通知。
我们开发者需要去专门配置通知的相关内容。
2、画中画(PIP)
多窗口显示模式,多用于视频播放,即你可以一边发微信一边看视频。
3、自适应图标(Adaptive Icons)
系统可以基于设备选择的蒙版将这些图标显示为不同形状。同时还实现与图标的自动交互,并在启动器、快捷方式、设置、共享对话框以及概览屏幕中使用它们。通过定义两张图层(前景与背景)你可以制定你的桌面图标外观。
开发时必须按照以下的规范定义你的图层大小:
1、 两张图层大小都必须为108 x 108 dp。
2、 图层中心 72 x 72dp 范围为可视范围。
3、 系统会保留四周外的36dp 范围用于生成有趣的视觉效果(如视差和跳动)。
4、固定快捷方式和小部件 (Pinningshortcuts)
放置于桌面上,用于更快速的打开某一 APP的某单一任务
参考链接:
安卓各版本主要的特性
网友评论