Android 4.1新增功能特性
原文链接:http://android.eoe.cn/topic/summary
* Android 4.1致开发人员*
http://developer.android.com/images/jb-android-4.1.png
欢迎使用Android 4.1,糖豆!
Android 4.1是目前最快最流畅的版本。我们已经改进了整个平台的,为用户和开发人员的增加更强更新功能。本文档为开发人员简述了新版本改进。
详细介绍请查阅Android 4.1 API文档.
* 更快,更顺畅,反应更灵敏*
Android 4.1 具有最佳性能和最低的触摸延迟降,并提供一个轻松,直观的用户界面。
为了确保帧率一致,Android 4.1 框架在所有的绘图和动画时使用 VSYNC计时器 。一切都运行在16毫秒VSYNC心跳上-渲染应用,触摸事件,画面构图,显示刷新-所以没有帧提前或落后。
Android 4.1在图形管道上使用三倍缓冲,更一致的渲染,让一切感觉顺畅,不论滚动翻页还是动画。
Android 4.1不仅通过使用VSYNC计时同步触摸,减少触摸延时 ,而且实际在屏幕刷新时会预测你的手指行为。这导致了更多的反应和统一的触摸响应。此外,在闲置期间时,Android的在未来的触摸事件触发时使用CPU输入加速技术,以确保有没有延迟。
工具可以帮助你设计出的最佳的性能的应用。Android 4.1系统的目的是要使用新的工具,称为systrace,他能直接从Linux内核收集数据生成系统Activity的整体图表。生成的数据表示为一组垂直堆叠的时序图,以帮助隔离渲染中断和其他问题。现已在Android SDK中带有(R20工具或更高的工具)
* 增强的辅助功能*
http://developer.android.com/images/jb-accessibility-focus-250.png
新API的辅助功能的服务,让您处理的手势并管理诸如用户移动屏幕上的内容 、使用可用手势控制导航按钮、配件和其它输入的焦点。系统交互,触摸功能的重新设计主要是使辅助功能更容易使用,并提供一套完整的API开发环境。
在辅助设置中,辅助功能服务可以提供自己的教程,帮助用户配置和使用他们的服务。
使用标准的View组件继承的应用程序,自动支持新的辅助功能,他们的代码没有任何变化。使用自定义视图的应用程序,可以使用新API中的辅助功能节点来使用所需要辅助功能服务。
* 支持国际用户*
http://developer.android.com/images/jb-r2l.png
双向文本和其他语言的支持
通过支持TextView和双向文字的EditText元素 Android 4.1可以帮助你支持更多的用户。应用程序可以显示或处理编辑左到右或从右到左的脚本的文本。应用程序可以使用新的阿拉伯语和希伯来语的语言环境和相关字体。
其他类型的新的语言支持包括:
- 其他印度语言:卡纳达语,泰卢固语,马拉雅拉姆语
- 新绘文字字符的Unicode 6.0版
- 日本用户的字形支持(呈现字形日本特定版本时,系统语言设置为日语)
- 阿拉伯文字形WebViews优化除了阿拉伯语TextViews字形
- WebViews垂直文本支持,包括Ruby的文本和其他垂直文字字形
-
合成粗体现已没有专门的大胆字形的字体
-
用户安装keymaps*
该平台现在支持用户安装键盘映射,如额外的国际键盘和特殊的布局类型。Android 4.1默认情况下,包括27个国际键盘的键盘布局,包括德沃夏克。当用户连接键盘,他们可以去设置程序,选择一个或多个,他们希望使用该键盘的键盘布局。打字时,用户可以使用快捷键(Ctrl-Space键)的键盘布局之间切换。
您可以创建一个额外键盘布局的应用程序发布到系统中。APK将包括在它的键盘布局资源,基于标准的Android键盘映射格式。在其manifest为ACTION_QUERY_KEYBOARD_LAYOUTS声明合适广播接收器,应用程序可以为用户提供额外的键盘布局。
* 构造更美的UI*
http://developer.android.com/images/jb-notif-ex.png
扩展的通知,让你在显示更多类型的通知内容。用户可以用一个简单的手势展开他们。
- 扩展的通知功能*
通知功能早已是Android上独特并受欢迎的功能。在不影响应用程序的UI的情况下,开发人员可以在通知栏把重要的或基于时间的信息,显示给用户。
Android 4.1对Android通知框架进行了重大的更新。应用程序现在可以通过点选展开或者折叠来显示更大,更丰富的通知。通知支持新的内容类型,包括照片,优先级的配置,甚至可以包括多个动作。
通过改进通知的使用,应用程序可以创建的使用面积较大,高达256 DP的高度的通知信息。三个模板的通知样式可供选择:
- BigTextStyle - 通知,其中包括一个多TextView的对象。
- BigInboxStyle - 通知显示任何类型的消息,标题等,如清单。
- BigPictureStyle - 如位图,展示视觉内容的通知。 除了模板的样式,你可以使用任何远程视图创建你自己的通知显示方式,。
应用程序在通知内容下,可以添加三个动作。让用户以替代办法直接回应通知信息。如不通过应用程序访问电子邮件或电话。
使用可扩展的通知,应用程序可以轻松地提供更多的信息给用户。用户还可以长按任何通知,以获取有关通知发送者的信息,并选择禁用应用程序的进一步通知。
* 大小可调整的应用程序小部件*
http://developer.android.com/images/jb-appwidgets.png
应用小工具,可以自动调整,以适应主屏幕,其大小变化时加载不同的内容。
Android的4.1引入了改进的应用小工具,可以按照用户拖动到的主屏幕的位置,主屏幕上提供的总空间大小,自动调整大小。新的应用程序部件的API,让你利用这一优势,以优化您的应用程序部件大小的变化时,Widget的大小。
当一个部件的变化大小,系统通知主机应用程序的部件供应商,可以重新在widget的内容需要。例如,一个widget可以显示更大,更丰富的图形或额外的功能或选项。开发人员仍然可以保持最大和最小尺寸的控制,并在需要时可以更新其他部件选项。
你的部件,还可以提供单独的横向和纵向布局,适当的屏幕方向改变时系统膨胀。
应用部件现在可以显示在第三方发射器和其他宿主应用程序通过一个新的绑定意向书(AppWidgetManager.ACTION_APPWIDGET_BIND)的。
* 简化的任务导航*
Android 4.1使您更容易从您应用程序管理顶部导航栏,并有助于确保用户一致的体验。
在应用的manifest文件添加新的XML属性,可以实现顶部导航栏中定义UI中独立的Activity组件功能。你可以。在运行时,随着活动的推出,该系统manifest文件中提取的最多的导航树,并自动创建在操作栏中向上的启示导航。开发谁申报清单导航不再需要管理导航在运行时的回调,但它们也可以这样做,如果需要的话。
也可以是一个新的TaskStackBuilder类,让你赶紧把一种人工合成的任务堆栈立即启动或PendingIntent启动时使用的一个活动。创建一个合成任务堆栈是特别有用的,当用户从偏远的意见,如从主屏幕小部件和通知,推出的活动,因为它让开发人员提供托管的,一致的体验,回到导航。
- Activity Lanuch 的简易动画*
您可以使用一个新的helper类,ActivityOptions,创建和控制,动画显示,当您启动您的活动。通过辅助类,你可以指定自定义动画资源活动启动时要使用的,或要求新的缩放动画开始从任何你指定在屏幕上,并选择性地包括一个缩略图位图的矩形。
- 灯输出和全屏模式的转换*
新的系统UI视图中的标志,让你干净的过渡,或从一个正常的应用程序界面(操作栏,导航栏,系统栏可见),“灯输出模式”(状态栏和操作栏隐藏和导航栏变灰) “全屏模式”(状态栏,行动起来吧,所有隐藏的导航栏)。
- 新的remoteable Views 类型*
开发人员现在可以使用GridLayout的ViewStub在主屏幕小部件和通知的意见。GridLayout的让你构建远程意见的内容和管理与较浅的UI层次结构中,儿童的意见路线。ViewStub是一种无形的,零大小的视图,可用于懒洋洋地膨胀在运行时的布局资源。
- 生活壁纸预览*
的Android 4.1使得它更容易为用户寻找和安装现场壁纸,包括他们的应用程序。如果您的应用程序,包括现场壁纸,你现在可以开始一个活动(ACTION_CHANGE_LIVE_WALLPAPER),显示了用户从自己的应用程序的动态壁纸预览。从预览,用户可以直接加载动态壁纸。
- 更高分辨率的联系人照片*
与Android 4.1,你可以存储联系人的照片,如大型720×720,使接触更丰富,更个人。应用程序可以在该大小的存储和检索联系人的照片,或使用任何其他需要的大小。在特定设备上支持最大的照片尺寸可能会有所不同,所以应用程序应该查询内置的接触供应商,在运行时获得当前设备的最大尺寸。
* 新的输入类型和功能*
- 找出有关的设备被添加和删除*
被通知任何新的输入设备连接时,通过USB,蓝牙,或任何其他连接类型,应用程序可以注册。他们可以使用这些信息,根据需要改变状态或能力。例如,游戏中可以得到一个新的键盘或游戏杆附加的通知,说明存在一个新的球员 。
- 查询输入设备的功能*
的Android 4.1包含的API,让应用程序和游戏需要连接和提供的所有输入设备的充分利用。
应用程序可以查询设备管理器枚举所有当前连接的输入设备,并了解每个功能。
- 控制输入设备振动器*
在其他功能,应用程序现在可以使用任何一个附加的输入设备,例如,相关的隆隆声白控制器的振动器服务。
* 动画和图形*
- VSYNC的应用*
整个Android框架扩展VSYNC导致一个更加一致的帧率和流畅,稳定的UI。这样的应用程序也有利于Android的4.1 VSYNC计时所有的绘图和动画应用程序发起的。这让他们在UI线程上优化操作,并提供了一个稳定的同步基。
应用程序可以免费VSYNC计时的优势,通过Android的动画框架。现在的动画框架使用VSYNC定时自动处理整个动画的同步。
专门的用途,应用程序可以通过API访问VSYNC定时暴露一个新的编舞类。应用程序可以要求对未来VSYNC帧无效 - 一个很好的方式来安排动画时,应用程序不使用动画框架。对于更高级的应用,应用程序可以发布calllback,编导类,将运行在下一帧。
- 新动画动作和过渡类型*
现在的动画框架允许你定义的开始和结束运行ViewPropertyAnimator动画时采取的行动,帮助他们与其他动画或应用程序中的行动同步。动作可以运行任何Runnable对象。例如,可运行的,可以指定另一个动画开始时前完成。
你现在也可以指定一个ViewPropertyAnimator在动画过程中使用了一层。在此之前,这是最好的做法是动画成立前开始动画然后一个onAnimationEnd()事件处理,动画完成时删除层层复杂的意见。现在,withLayer()上ViewPropertyAnimator的方法简化这个过程中,用一个单一的方法调用。
中LayoutTransition新的过渡类型,可以自动响应一个ViewGroup布局的变化动画。
* 新的连接类型*
- Android Beam*
Android的梁是一个流行的基于NFC技术,让用户即刻份额,只是由两个NFC手机接触在一起。
在Android 4.1,Android的光束,使得它更容易共享图片,视频或其他有效载荷,利用数据传输的蓝牙。当用户触发一个转移,Android的梁双手从NFC蓝牙,使得它很容易管理的文件从一个设备转移到另一个。
- Wi-Fi网络发现服务*
的Android 4.1引入了基于DNS服务的发现,它可以让应用程序查找和连接等设备,通过Wi-Fi网络所提供的服务-包括移动设备,打印机,数码相机,媒体播放器,以及其他对组播的支持。开发人员可以利用Wi-Fi网络服务发现的优势,建立跨平台或多人游戏和应用经验。
使用服务发现API,应用程序可以创建和注册任何种类的服务,任何其他国安局发现功能的设备。服务通告组播在网络上使用人类可读的字符串标识符,它可以让用户更容易识别的服务类型。
消费电子设备可以使用API进行扫描,发现当地的Wi-Fi网络连接的设备提供服务。发现后,应用程序可以使用API来解决服务的IP地址和端口,通过它可以建立一个套接字连接。
你可以利用这个API的优势,建设成为您的应用程序的新功能。例如,你可以让用户连接到一个摄像头,打印机,或其他移动设备支持的Wi-Fi对等连接的应用程序。
- WiFi-Direct发现服务*
冰淇淋三明治介绍了发现和对直接通过高带宽的对等连接,为Wi-Fi的直接支持,技术,让应用程序。Wi-Fi直是一个理想的方式来共享媒体,照片,文件和其他类型的数据和会话,即使那里没有手机网络或Wi-Fi的可用。
与果冻豆,Android的需要Wi-Fi直进一步,增加了对API的支持相关的服务发现。前相关的服务发现可以让你的应用程序获得更多有用的信息,有关他们的服务支持,从附近的设备之前,他们试图连接。应用程序可以启动特定服务的发现和筛选那些真正支持目标服务或应用程序发现的设备列表。
例如,这意味着你的应用程序,可以发现,“打印机”或有一个特定的游戏,而不是发现附近所有的Wi-Fi Direct设备的唯一设备。另一方面,您的应用程序可以发布到其他设备提供的服务,可以发现它,然后协商一个连接。这大大简化了为用户发现和配对,让应用Wi-Fi的直接优势,更有效。
与Wi-Fi直接服务发现,你可以创建可以共享所有照片,影片,游戏,分数,或几乎任何其他-无需任何互联网或移动网络的应用程序和多人游戏。您的用户可以使用只有一个直接的P2P连接,从而避免了使用移动带宽连接。
- 网络带宽管理*
的Android 4.1应用程序管理数据使用适当的设备时,连接到计量网络,包括移动热点的牵引。应用程序可以查询当前网络是否咪表前开始大量下载,否则可能会是比较昂贵的用户。通过该API,您现在可以得到清晰的照片,其中的网络使用数据敏感,并相应地管理您的网络活动。
* 新媒体功能*
- 媒体编解码器访问*
的Android 4.1平台的硬件和软件编解码器提供了低级别的访问。应用程序可以查询系统,发现低层次的媒体编解码器设备上可用的,然后,在他们需要的方式使用它们。例如,你现在可以创建一个媒体编解码器的多个实例,队列输入缓冲器和接收输出缓冲区的回报。此外,媒体编解码器框架,支持受保护的内容。应用程序可以查询可用的编解码器,即能起到保护的内容与DRM解决方案的设备上可用。
- USB音频*
USB音频输出的支持,允许硬件厂商建立音频码头,如硬件接口与Android设备。此功能也暴露了Android 开放式配件开发套件(ADK)给所有的开发人员的机会,创造自己的硬件。
- 音频记录触发*
机器人现在可以让你触发的基础上,完成音频播放的曲目的录音。这是有用的情况下,播放提示音提示用户开始发言记录他们的声音等。此功能可帮助您同步录音,所以你不录制音频,目前正在播放和防止太晚开始录音。
- 多声道音频*
的Android 4.1支持多声道音频设备上的硬件多声道音频通过HDMI端口。多声道音频,让你的应用,如游戏,音乐应用程序,视频播放器提供给用户丰富的媒体体验。对于不支持的硬件设备,机器人自动框框的音频设备(通常是立体声)支持的通道数。
的Android 4.1还增加了5.1编码/解码AAC音频的内置支持。
- 音频预处理*
开发人员可以申请预处理效果音频被记录下来,如申请抑制噪声,提高讲话的录音质量,声学回声的回声消除,自动增益控制音频的音量不一致。应用程序需要的高品质和干净的录音,将受益于这些预处理器。
- 音频链接*
MediaPlayer的支持链接的音频流一起玩不停顿的音频文件。这是有用的应用程序,需要音频文件,如音乐播放器之间的无缝转换,发挥连续曲目或游戏专辑。
- 媒体路由器*
新的API MediaRouter,MediaRouteActionProvider,MediaRouteButton提供标准的机制和用户界面,选择在哪里发挥媒体。支持内置有线耳机,A2DP蓝牙耳机和扬声器,你可以在自己的应用程序添加自己的路由选择。
* renderscript计算*
机器人4.1扩展Renderscript计算,给你更多的灵活性。现在,您可以品尝纹理在您的Renderscript计算脚本,新的pragma是可用来定义你的脚本所需的浮点精确度。这让您启用NEON指令,如快速矢量数学运算,CPU上的路径,否则不会是可能的,完整的IEEE 754-2008标准。
现在,您可以调试在您的Renderscript计算脚本基于x86模拟器和硬件设备。您还可以在一个单一的Renderscript源文件中定义多个根风格的内核。
* Android浏览器和WebView*
在Android 4.1,Android浏览器和WebViews包括以下增强功能:
- 更好的HTML5视频的用户体验,包括touch-to-play/pause和平稳过渡,从内联到全屏模式。
- 为更好的滚动和缩放性能提高了渲染速度和减少内存使用。
- 改善HTML5/CSS3/Canvas动画性能。
- 改进的文本输入。
- JavaScript引擎(V8引擎)更新
-
支持更新的HTML5的媒体捕捉规范(“捕获”输入类型=文件元素的属性)。
* 谷歌API和服务*
延长Android的能力,甚至进一步,Android的一些新的服务提供。
- 谷歌为Android云通讯*
谷歌云消息(GCM)的服务,让开发Android设备上的用户发送短消息数据,而无需专有的同步解决方案,。
GCM的处理所有的细节排队的消息,并提供他们有效地有针对性的Android设备。它支持消息的多播和可达1000连接的设备,同时用一个单一的请求。它也支持消息的有效载荷,这意味着,在除了痒痛消息发送到设备上的应用,开发者可以发送高达4K的数据。
谷歌云消息是完全免费为所有的开发和注册是很容易的。看到谷歌云信息登记,下载,文档的页面。
- 应用程序加密*
与Android 4.1开始,谷歌播放将有助于保护应用资产与设备特定的密钥进行加密,才交付和存储设备上的所有支付应用。
- 智能应用程序更新*
智能应用程序的更新是一个谷歌播放的新功能,介绍了提供更好的方式应用到设备的更新。当开发商发布更新,谷歌播放提供了只有位已更改的设备,而不是整个的APK。这使得更新,重量更轻,在大多数情况下,让他们更快的下载,储存设备的电池,节省带宽的使用,对用户的移动数据计划。平均而言,一个聪明的应用程序更新是一个完整的APK更新1/3左右的规模。
- 谷歌游戏服务(即将推出)*
谷歌游戏服务,帮助开发人员集成谷歌服务,如认证,并到他们的应用程序通过谷歌播放交付的Google +。
谷歌游戏服务将自动配置的最终用户设备由谷歌播放,因此,所有你需要的是一个瘦客户机在您的应用程序库。
因为你的应用程序只包含小的客户端库,您可以利用这些服务没有在下载文件大小和存储空间的大幅增加。此外,谷歌游戏将提供定期更新服务,而不需要发布的应用程序更新,利用它们的开发。
有关更多的API包含在谷歌游戏服务的详细信息,请参阅Google播放服务开发的页面。