Android 4.4 KitKat 新特性介绍

  • Abel Avram
  • 孙镜涛

2013 年 11 月 4 日

话题:Android语言 & 开发

Google 发布了 Android 4.4(KitKat)特性:更低的内存占用、沉浸式模式、半透明样式、屏幕打印及一些框架——打印、存储、转换和 Chromium WebView。

作为 Svelte 项目倡议的一部分,Google 已经降低了 Android 核心、相关框架、设备以及应用程序自己的内存占用,让 KitKat 能够在仅仅拥有 512MB 内存的入门级设备上运行成为了可能,同时还利用了一些增强、指南和工具:

  • OEM 设备制造商能够使用“Dalvik JIT 代码缓存调整、内核同页合并(KSM)、交换到 zRAM 及其他的优化”降低内存消耗
  • 系统进程现在会消耗更少的堆
  • 系统内存会更加积极地保护那些使用大量内存的应用
  • 服务会被连续地启动从而避免峰值内存请求
  • 应用程序能够通过 ActivityManager.isLowRamDevice() 方法了解自己是否运行在内存小的设备上,从而决定是否关闭一些高内存消耗的功能。
  • 对于有兴趣降低自己应用程序内存占用的开发者而言,文章管理应用的内存是一篇详细的指南
  • procstats工具能够提供内存随着时间发展的使用情况、运行时间以及前台应用程序和后台服务之间的区别。增强的 meminfo 工具能够概括内存趋势、通知之前没有报告的内存消耗情况

Android 4.4 中的另一个特性是新的“沉浸式模式”,用户能够通过使用 View.SYTEM_UI_FLAG_IMMERSIVE 和 View.SYTEM_UI_FLAG_IMMERSIVE_STICKY 标记全屏运行应用程序,包含 3- 按钮(Back, Home, Menu)区域,在它们显示了片刻之后发生一个特定事件时会重新隐藏系统栏。KitKat 还包含半透明的窗口样式和主题,能在背景之上呈现一个应用程序。

为了创建教程、示例、营销材料、用于测试的内容等信息,开发者现在能够记录手机的整个屏幕,并能够通过 Eclipse 或者 Android Studio 中的 DDMS 面板或者使用 adb shell screenrecord 命令将其保存成一个 MP4 视频。那些希望保护自己的内容不被记录的开发者可以通过调用 useSurfaceView.setSecure() 实现。

KitKat 还包含一些新的框架,例如:

打印框架——提供内置支持,包括发现、设置和打印(通过 WiFi 在一个本地打印机上或者通过云打印进行打印)的 API 和打印对话框,几乎能够打印来自于所有应用程序的“所有类型的文档、图片或者文件”。

存储访问框架——集成用户本地的或者云存储设施,提供一种能够跨应用程序和存储提供者访问文档的标准方式。以后能够在自己的 Android 应用程序中包含一个文档提供者,在应用安装到设备上的时候自动地集成进框架,让该服务可以服务于所有应用。一个打算访问集成存储设施的客户端应用程序仅需要使用新的 CREATE_DOCUMENT 或者 OPEN_DOCUMENT 。

转换框架——开发者能够使用这个新框架在各种 UI 场景之间转换时使用动画,或者从预定义的转换动画集合中选择,或者创建自己的动画。

SMS/MMS Provider ——一个标准 API,可用于所有处理 SMS/MMS 信息的应用程序。

其他值得注意的新的或者提升的特性包括:

Chromium WebView ——新的 WebView 来自于 Chromium,支持最新的 Web 标准(HTML5、CSS、JavaScript)并提供了更好的性能,包含最新的 V8 引擎和 Chrome DevTools 的远程调试功能。

RenderScript NDK ——RenderScript 现在能够直接通过一个 C++ NDK API 从本地代码中访问。

Android KitKat 开发者页面对新特性和增强进行了详细的说明,该列表实在太长了无法在本文中一一说明。同时Android DevBytes中还有面向开发者的简短视频,他们对这些新特性做了介绍。

查看英文原文What’s New for Developers in Android 4.4 KitKat

Android语言 & 开发