从设计外观上看,Android 5.0 系统使用一种新的Material Design 设计风格。从图片上就能看到一些全新的设计。从图片上看,这套设计图对 Android 系统的桌面图标及部件的透明度进行的稍稍的调整,并且各种桌面小部件也可以重叠摆放。虽然调整桌面部件透明度对 Android 系统来说并不算什么新鲜的功能,但是加入了透明度的改进。
从系统功能上看,默认使用ART虚拟机(在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。),支持64位处理器,整合碎片化,加入健身功能。
锁定屏幕通知:Android 5.0 中的锁定屏幕能够呈现通知。用户可以通过“设置”来选择是否允许在安全的锁定屏幕上显示敏感的通知内容。
您的应用可以控制其通知在安全的锁定屏幕上显示时的具体公开程度。要控制公开程度的级别,请调用 setVisibility()
并指定下列值之一:
VISIBILITY_PRIVATE
:显示基本信息(例如通知图标),但隐藏通知的全部内容。VISIBILITY_PUBLIC
:显示通知的全部内容。VISIBILITY_SECRET
:不显示任何内容,甚至连通知图标也不显示。
如果公开程度级别为 VISIBILITY_PRIVATE
,您还可以提供隐藏了个人详细信息的通知内容修改版本。例如,短信应用的通知可能会显示“您有 3 条新短信”,但隐藏短信内容和发送者。要提供此备用通知,请先使用 Notification.Builder
创建替代通知。当创建不公开的通知对象时,请通过 setPublicVersion()
方法为其附加替代通知。
显卡:
Android 5.0 针对 OpenGL ES 3.1 添加了 Java 接口和原生支持。OpenGL ES 3.1 中提供的主要新功能包括:
- 对着色器进行计算
- 单独的着色器对象
- 间接绘图命令
- 多样本和模版纹理
- 对着色语言的改进
- 用于高级混合模式和调试的扩展
- 对 OpenGL ES 2.0 和 3.0 的向后兼容性
Android 上 OpenGL ES 3.1 的 Java 接口是通过 GLES31
提供的。当使用 OpenGL ES 3.1 时,请务必在您的清单文件中使用 标记和 android:glEsVersion
属性声明它。例如:
<manifest> <uses-feature android:glEsVersion="0x00030001" /> ... </manifest>
存储:
Android 5.0 对存储访问框架进行了扩展,允许用户选择整个目录子树,并向应用授予对其中包含的所有文档的读/写访问权限(无需请求用户逐项确认)。
要选择目录子树,请构建并发送 OPEN_DOCUMENT_TREE
intent。系统将显示支持子树选择的所有 DocumentsProvider
实例,允许用户进行浏览并选择目录。返回的 URI 表示对所选子树的访问权限。然后,您可以使用 buildChildDocumentsUriUsingTree()
和 buildDocumentUriUsingTree()
以及 query()
来深入了解此子树。
新的 createDocument()
方法允许您在子树下的任何位置创建新的文档或目录。要管理现有文档,请使用 renameDocument()
和deleteDocument()
。在发出这些调用之前,请检查 COLUMN_FLAGS
以验证服务提供方是否支持这些调用。
如果您在实施 DocumentsProvider
并希望支持子树选择,请实施 isChildDocument()
并在您的 COLUMN_FLAGS
中添加FLAG_SUPPORTS_IS_CHILD
。
Android 5.0 还在共享的存储空间内引入了程序包专用的新目录,您的应用可将要添加到 MediaStore
中的媒体文件放置在这些目录中。新的 getExternalMediaDirs()
将返回这些目录在所有共享的存储设备上的路径。与 getExternalFilesDir()
类似,您的应用不需要额外的权限即可访问所返回的路径。平台将定期扫描这些目录中的新媒体,但您也可使用MediaScannerConnection
对新内容进行显式扫描
低功耗,省电
还有很多细节没有说明,以上进攻参考