android4.0,5.0新特性

本文介绍了Android4.0与5.0的重要更新,涵盖UI改进、多媒体增强、安全性加强及API扩展等内容。Android4.0引入了Social API、改进的Calendar Provider、Voicemail Provider等功能,并增强了相机、多媒体处理能力。Android5.0则带来了ART虚拟机、Material Design、设备支持扩展、改进的安全特性和全新的通知中心。


1.     Android 4.0新特性

Android 4.0

API等级:14 

改变的类或功能

详细描述

 

 

Social APIs in Contacts Provider

User Profile:用于管理机主的个人档案以及联系人的资料

Invite Intent:用于邀请一个联系人进入某个社交网络

Large photos:支持高分辨率的联系人照片

Contact Usage Feedback:用于追踪记录用户使用特定的方法联系其他人的频度

Calendar (日历) Provider

允许我们读、增加、编辑和删除存储在Calendar Provider的日历、事件与会者,提醒和警示;同步适配器能够通过Calendar Provider同步其他日历服务的用户的日历

Event intent:用 Events.CONTENT_URI定义一个ACTION_INSERT的intent对象,可实现在日历中添加事件

Voicemail Provider

可集合呈现来自不同应用的语音邮件

 

 

Multimedia(多媒体)

Media Effects:可调整各种图像和视频的视觉效果

Remote control client:新的RemoteControlClient允许媒体播放器能够被远程控制

Media player:加入网络权限就可以使媒体播放器播放网络上的音乐;可自定义播放习惯

Media types:增加了一下媒体种类:

1. HTTP / HTTPS的实时流媒体协议第3版

2. ADTS的原料AAC音频编码

3. WEBP图像

4. Matroska的视频

 

 

Camera类

face detection 人脸检测

Camera.Area类:控制焦距和感光的白平衡以及自动曝光

调用autoFocus()方法可实现摄像头自动对焦

摄像头的其他功能:录制视频时,可以调用takePicture()方法保存照片,同时不中断视频的拍摄;使用setAutoExposureLock()和setAutoWhiteBalanceLock()方法可以锁定自动曝光和白平衡来防止用户更改这些属性;相机拍摄运行时,可以调用setDisplayOrientation()方法

相机广播意图:Camera.ACTION_NEW_PICTURE和Camera.ACTION_NEW_VIDEO

Android Beam (NDEF Push with NFC)

Android Beam是一个新的NFC功能,可实现Android设备之间的近场通信

Wi-Fi Direct

支持与其他支持WiFi的设备直接点对点(P2P)连接,如Android系统的供电设备和其他类型的设备,用于迅速连接和数据传输,距离远大于蓝牙

Bluetooth Health Devices

可创建使用蓝牙医疗设备

 

Accessibility

Explore-by-touch mode:为有视觉障碍的人群提供屏幕阅读器的功能

Accessibility for views:sendAccessibilityEvent()方法有一些改变

Accessibility services

AccessibilityManager新增的API

拼写检查服务

需实现SpellCheckerService类和SpellCheckerService.Session类的服务

语音朗读引擎(TTS)

使用TTS引擎:setEngineByPackageName()被弃用,getEngines()方法实现查询

建立TTS引擎:使用TextToSpeechService

网络使用

能够让用户精确地看到他们的应用程序正在使用多少网络数据,允许用户管理并设置网络数据的使用权,甚至禁止某个应用使用后台数据

 

企业

VPNService:允许应用程序构建他们自己的VPN,作为一个Service运行

设备管理:应用程序管理设备的限制条件,如setCameraDisabled()方法和USES_POLICY_DISABLE_CAMERA属性可以禁止相机使用。

证书管理:新的KeyChain类

 

设备传感器

TYPE_AMBIENT_TEMPERATURE:一个提供环境(室)温度(摄氏度)的温度传感器

TYPE_RELATIVE_HUMIDITY:以百分比的相对环境(室内)湿度:湿度传感器

重力感应器(TYPE_GRAVITY)、旋转矢量传感器(TYPE_ROTATION_VECTOR)、线性加速度传感器(TYPE_LINEAR_ACCELERATION)的性能得到改善,改进的传感器依靠陀螺仪传感器,以提高它们的输出

 

 

Action Bar  工具栏更新以适应小尺寸屏幕

Split action bar:分裂工具栏

Action bar styles:setStackedBackgroundDrawable() and setSplitBackgroundDrawable()等可实现新的功能样式

Action provider:用于特殊功能的Item

Collapsible action views:使用collapseActionView() and expandActionView()方法可显示或隐藏菜单的ActionView

其他APIs:setHomeButtonEnabled()、setLogo、setIcon、Fragment.setMenuVisibility()、FragmentManager.invalidateOptionsMenu()

 

 

 

 

User Interface and Views

GridLayout网格布局

TextureView:用于播放视频等的View控件

Switch widget:新的开关控件

Popup menus弹出菜单

Preferences:新的类SwitchPreference

System themes系统主题:Theme.DeviceDefault和Theme.Holo

Options menu button:屏幕上的菜单按钮取代硬件的按钮

用户界面:在status bar的基础上新增加了navigation bar

输入框架

增加了对光标悬停事件(View.OnHoverListener)、手写笔、鼠标按钮事件的支持

Properties

Property类提供了一个快速,高效和简单的方式来设置对象的各个成员变量

Hardware Acceleration硬件加速

硬件加速使用户体验到动画更流畅,滚动时更流畅,也会提高程序的整体的性能

JNI的变化

Java本地接口的引用由直接引用改成了间接引用

WebKit浏览器引擎

1、WebKit更新到534.30版本

2、在WebView和内置的浏览器中支持印度的字体(梵文,孟加拉语,泰米尔语,需要通过复杂的字形来组合的字符)

3、在WebView和内置的浏览器中支持埃塞俄比亚语,格鲁吉亚语,亚美尼亚语的字体。

4、支持WebDriver,通过它可以使得利用WebView来测试程序更加的容易

Permissions权限

新添加的权限:

1.  ADD_VOICEMAIL:允许语音信箱服务来添加一个语音邮件到设备 

2.  BIND_TEXT_SERVICE:实现了SpellCheckerService 服务的服务必须添加这个权限

3.  BIND_VPN_SERVICE:实现了VpnService 服务的服务必须添加这个权限

4.  READ_PROFILE: 提供一个读权限给 ContactsContract.Profile提供器

5.  WRITE_PROFILE: 提供一个写权限给 ContactsContract.Profile提供器

Device Features

 

新添加FEATURE_WIFI_DIRECT: 声明应用程序可使用WIFI进行点对点通信

 

包括Android 3.0的组件

Fragment

一个框架组件,允许你将activity中不同的元素分离到自包含的模块中,每个模块定义自己的UI和生命周期

Action Bar

 

Loader

一个框架组件,方便在组合的UI中异步加载数据,可以动态获取数据而不用担心阻塞主线程

System clipboard

应用可以使用系统的剪贴板拷贝和粘贴数据(不仅仅是文本内容)。可以剪贴的数据包括:普通文本,一个URL,或者是一个intent

Drag and drop

在view中内置了一个API集合,可以方便的进行拖拽的开发

Property Animation

全新的灵活的动画框架

可以让任何对象(例如:view,drawable,fragment,object等等)的任何属性动起来,并且定义动画的各种属性,例如:持续时间,补间内容,如何重复等等

RenderScript graphics and compute engine

RenderScript提供高性能的3D图片呈现,和高性能的本地级别的计算API,你可以用C(标准C99)来写,提供了你希望的从本地环境执行的性能,同时可以跨越各种CPU和GPU

Hardware accelerated 2D graphics

可以为你的应用开启OpenGL呈现功能,通过在你的manifest文件的<application>元素中设置{android:hardwareAccelerated=”true”},也可以为每个activity单独设置。可以使得动画更加平滑,滚动更加平滑,提高整体性能和用户的交互响应

 

包括Android3.1组件

USB APIs

通过强大的API,可以在应用中整合已经连接的外围设备

MTP/PTP APIs

应用可以和直接连接的照相机或者是其他PTP设备交互,在设备附加和移除的时候收到通知,管理这些设备的文件和存储,进行文件和元数据的交换。MTP APIs实现了PTP(图片传输协议),PTP是MTP(媒体传输协议)的子集

RTP APIs

Android开放了内置的RTP(实时传输协议)的API,在应用中可以用来管理实时和交互数据流。尤其是,在提供VOIP的应用,视频通话,视频会议,可以用API初始化音频流的会话,在网络上传输和接受数据流

支持操纵杆和普通的手势输入

 

 

Android4.0内置的应用

•        API的演示

•        Browser浏览器

•        Calculator计算器

•        Calendar日历

•        Camera相机

•        Clock时钟

•        Custom Locale自定义区域

•        Dev Tools开发工具

•        Downloads下载

•        Email电子邮件

•        Gallery画廊

•        Gestures Builder手势生成器

•        Messaging消息

•        Music音乐

•        People人民

•        Phone电话

•        Search搜索

•        Settings设置

•        Speech Recorder语音记录器

•        Speech Recorder语音记录器

•        Widget Preview

 

 

 

2.     Android5.0新特性

Android5.0

API等级:21

 

用户体验

支持64位ART虚拟机

放弃了之前一直使用的Dalvik虚拟机,改用了ART模式,实现了真正的跨平台编译,在ARM、X86、MIPS等。ART虚拟机编译器在内存占用及应用程序加载时间上进行了大幅提升,谷歌承诺所有性能都会比原来提升一倍。

全新Material Design设计风格

三位视图,Activity之间的无缝转换,RenderThread能够保证流畅的动画效果。

支持多种设备

智能手机、平板电脑、笔记本电脑、智能电视、汽车、智能手表甚至是各种家用电子产品

全新的通知中心设计

优先显示对用户来说比较重要的信息,而将不太紧急的内容隐藏起来;锁屏界面也可以直接查看通知消息

全新的“最近应用程序”

最近应用界面借鉴了Chrome浏览器的理念,采用单独的标签展示方式

改进的安全性

默认开启了系统数据加密功能,并且通过SELinux执行应用程序;个人识别解锁通过识别用户的声音、人脸或特定的智能设备解锁

不同数据独立保存

工作和生活中的数据分开保存

改进搜索

根据用户的位置信息或是搜索历史等进行自动过滤

蓝牙4.1

 

USB Audio

外接音响

多人分享

可以在用户手机丢失的情况下,使用其它Lollipop设备登录账户,从云端下载联系人、日历等资料

Tap & Go

通过NFC配对两部Lollipop系统手机,旧手机可以将需要备份的全部内容,通过蓝牙传输给新手机

新增访客模式

设备管理员可以控制不同配置下帐号的通讯功能:比如访客模式限制通话功能,普通用户模式限制通话和短信功能

 

New APIs

User Interface

Material design support:包括材料主题、视图阴影、RecyclerView控件、材料设计动画和界面过渡效果、基于视图状态的动画视图、可定制的UI小部件和带有调色板的应用程序工具栏、基于XML矢量图的动态或非动态的图形

Concurrent documents and activities in the recents screen:能够支持同时显示多个Activity

WebView updates:更新到Chromium M37,安全性和稳定性都有所提高

Screen capturing and sharing:createVirtualDisplay()方法获取主屏幕的截屏,生成一个Surface对象

Notifications

Lock screen notifications:使用setVisibility()设置通知内容显示的级别以保护隐私数据

Notifications metadata:调用Notification.Builder中的方法设置通知的类别、优先级等

Graphics

Support for OpenGL ES 3.1:计算着色器、单独着色器、间接绘画命令、多重采样和模板、着色语言的改进、先进混合模式的扩展和调试、向后兼容OpenGL ES 2.0 and 3.0

Android Extension Pack:支持片段着色器、棋盘花纹和集合着色器、图片压缩格式、每个样本的插入和阴影、为缓冲器中的颜色附件提供混合模式

Media

Camera API for advanced camera capabilities:引入android.hardware.camera2实现拍照和图像处理

Audio playback:对AudioTrack做了一些更改

Media playback control: MediaSession 取代了RemoteControlClient;新增MediaController类

Media browsing:可使用android.media.browse接口浏览其他APP的多媒体数据

Storage

Directory selection:扩展了存储访问框架

Wireless and Connectivity

Multiple network connections:动态搜索特定的有效地网络

Bluetooth Low Energy:不仅可以作为蓝牙连接的主设备,还可以作为从设备

NFC enhancements:分享菜单中可使用Android Beam;使用invokeBeam()方法可调用其他设备上的android Bean实现数据共享;能够使用createTextRecord()方法创建含有文本的NDEF格式的记录;付款应用中可用registerAidsForService()动态注册ID

Project Volta

Scheduling jobs:JobInfo.Builder类可定义任务运行的时间或者具体情形,以节省电量

Developer tools for battery usage:dumpsys batterystats命令生成电量使用的统计信息

Android in the Workplace and in Education

Managed provisioning:配置管理

Device owner:配置设备所有者

Screen pinning:锁住屏幕,防止其他消息或Activity打开,打断正在运行的程序

Printing Framework

Render PDF as bitmap:使用PdfRenderer类将PDF文档转成bmp格式的图像

System

App usage statistics:使用android.app.usage接口可统计各个APP被使用的情况

Testing & Accessibility

Testing and accessibility improvements:对测试和易用性提供更多的支持

IME

Easier switching between input languages:更轻松的转换输入法

Manifest Declarations

Declarable required features:<uses-feature>元素中新增加了一些值

User permissions:新增BIND_DREAM_SERVICE

 

New behaviors

虚拟机(ART Runtime)

预编译、改进的垃圾回收机制、改进的调试

通知(Notifications)

Material design style:正确设置通知图标的配色

Sound and vibration :Notification.Builder 方法为通知添加振动和声音;用STREAM_RING 和STREAM_NOTIFICATION来控制音量

Lock screen visibility:默认情况下,所有的通知都是在锁屏时可见,可通过setPublicVersion()方法设置修订含有个人信息的通知

Media Playback:使用Notification.MediaStyle对象生成显示媒体播放状态的通知

Heads-up notification:当设备处于活动状态(如全屏播放)时,系统通知以浮动窗口的形式弹出,不会影响当前运行的APP

媒体控制(Media Controls)

MediaSession取代RemoteControlClient类实现媒体控制

getRecentTasks()

getAppTasks()取代ActivityManager.getRecentTasks()方法获得自己的任务

64-bit Android NDK

Android 5.0引入了支持64位系统,引入了新的原生媒体NDK API,以及本地OpenGL ES(gl)3.1的支持

绑定Service(Binding to a Service)

Context.bindService()方法需要显式的Intent,否则就会抛出异常,不需要为Service定义intent filter

WebView

系统默认是阻止混合内容和第三方Cookie的,如果要允许,需要用setMixedContentMode() 和setAcceptThirdPartyCookies()方法进行设置;能够智能地选择显示部分HTML文件

唯一性限制自定义权限

防止不同的APP发生自定义权限的冲突

TLS / SSL默认配置更改

更改了应用于APP中HTTPS 和 TLS/SSL通信中的TLS / SSL的默认设置

Support for Managed profiles

Handling intents

Sharing files across profiles

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值