有奖征文 | 火山引擎开发者社区联合 InfoQ 写作社区第四届征文大赛来袭! 了解详情
写点什么

Android 4.4 KitKat 新特性介绍

  • 2013-11-04
  • 本文字数:1395 字

    阅读完需:约 5 分钟

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

2013-11-04 23:594806
用户头像

发布了 321 篇内容, 共 114.8 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

22个每个程序员都应该知道的 Git 命令

Java-fenn

Java

SpringBoot 源码 | prepareEnvironment 方法解析

Java-fenn

Java

k8s中几个基本概念的理解

Java-fenn

Java

TAP 基于 Knative 的 云原生运行时

Java-fenn

Java

物理层基本概念

StackOverflow

编程 计算机网络 9月月更

高项-第一章 信息化和信息系统(2)

索隆

项目管理 软考

【JavaWeb】JDBC快速入门时间

Java-fenn

Java

还在用开发者工具上传小程序? 快来试试 miniprogram-ci 提效摸鱼

若川

JavaScript 小程序 前端 小程序开发

弱隔离级别 & 事务并发问题

Java-fenn

Java

SpringBoot与Thymeleaf模板入门整合篇

Java-fenn

Java

百度前端二面常见面试题合集

bb_xiaxia1998

JavaScript 前端

Java 多线程:锁

Java-fenn

Java

设计模式之工厂方法模式--更加符合开闭原则的工厂模式

Java-fenn

Java

自动化测试中对多断言的思考和实践

Java-fenn

Java

【云原生 | 从零开始学Docker】三、Docker实战之安装Nginx和Tomcat

泡泡

Docker 云计算 容器 云原生 9月月更

生成 UUID 的三种方式及测速对比!

掘金安东尼

前端 9月月更

阿里前端高频面试题

beifeng1996

JavaScript 前端

vite 3.0 都发布了,经常初始化 vite 项目,却不知 create-vite 原理?揭秘!

若川

JavaScript vue.js 前端 nodejs vite

Flutter - Google 开源的移动 UI 框架

陈橘又青

谷歌 flutter 调试工具 9月月更

数据湖与数据仓库

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

OpenFeign引起的HTTP Status 400与Tomcat吞没数据

Java-fenn

Java

观察|数字经济新业态:云安全与生物医药CDMO合作成新趋势

Java-fenn

java;

SAP 电商云 Spartacus UI 同 SAP Customer Data Cloud 的集成

Jerry Wang

typescript SAP Hybris Spartacus 9月月更

九个写 TypeScript 的坏习惯,看看你有没有?

Java-fenn

Java

力扣142 - 环形链表||【二重双指针+哈希表】

Fire_Shield

链表 LeetCode 9月月更

数据结构与算法(四)——栈和队列

Java-fenn

Java

css实现模糊镜效果及渐变字体和text-shadow冲突解决方案

Java-fenn

Java

字节前端高频面试题

helloworld1024fd

JavaScript 前端

Netty系列教程(二)Netty架构设计剖析

Java-fenn

Java

小公司里用SpringBoot做MySQL分库分表,踩了一些坑!

Java-fenn

Java

我的设计模式之旅 ⑦ 观察者模式

Java-fenn

Java

Android 4.4 KitKat新特性介绍_Android/iOS_Abel Avram_InfoQ精选文章