[Android各版本特性]专栏目录
01. Android API 版本对照表
02. Android 4.4以前版本特性
03. 为什么以Android4.4做分界线
04. Android 4.4 Kitkat
05. Android 5.0 Android Lollipop
06. Android 6.0 Marshmallow
07. Android 7.0 Nougat
08. Android 8.0 Oreo
09. Android 9.0 Pie
10. Android 10
11. 总结(推荐)

文章目录

  • 1.让 Android 适用于所有人
  • 2.通过主机卡模拟实现新的 NFC 功能
  • 3.打印框架
  • 4.存储访问框架
  • 5.低功耗传感器
  • 6.短信提供程序
  • 7.开发漂亮应用的新方式
  • 8.新的媒体功能
  • 9.新的连接类型
  • 10.安全增强功能
  • 11.内存使用率分析工具
  • *12.常用API应该注意的部分

1.让 Android 适用于所有人

  1. Android 4.4 设计用于在比以往更多类型的设备(包括全球数百万台低至 512MB RAM 的入门级设备)上快速、平稳和高速响应地运行。
  2. 当多项服务同时启动时,例如当网络连接状态改变时,Android 分小组依次启动服务,避免出现高峰内存需求,改善内存管理和减少内存占用。
  3. 新增的 API ActivityManager.isLowRamDevice() 让您可以优化应用行为,以便匹配设备的内存配置。
  4. procstats 工具详细列出一段时间内的内存使用率,以及前台应用和后台服务的运行时间及内存占用量。还提供设备上视图,您可以深入了解应用内存使用情况。

2.通过主机卡模拟实现新的 NFC 功能

  1. Android 设备上的任何应用可以模拟 NFC 智能卡应用也可以使用新的读取器模式作为 HCE 和其他基于 NFC 的交易的读取器

3.打印框架

  1. Android 应用可以通过 WLAN 或云托管服务(例如 Google 云打印)打印任何类型的内容。
  2. 谷歌平台提供用于管理打印和添加新的打印机类型支持的 API——打印管理器。
  3. 打印机制造商可以使用新的 API 开发自己的打印服务,并通过 Google Play 发布此类服务,以便于用户查找并在自己的设备上安装这些服务。
  4. 客户端应用可以使用新的 API,在基本不改变代码的情况下,向应用添加打印功能。
  5. Android 使用 PDF 作为主要的打印文件格式。平台Printing API 提供辅助程序类,可快速创建用于打印的 PDF。

4.存储访问框架

  1. 新的存储访问框架让用户能够在其文件管理器程序中方便地浏览并打开文本、照片和壁纸以及视频和音频等文件。
  2. 云存储服务或本地存储服务开发商,需要结合现在新的存储访问框架给出新开发使用文档。新文档要包含文档管理程序向系统注册以及浏览、读取和写入文档所需的所有 API。
  3. 客户端应用APP只需使用新的 CREATE_DOCUMENT 或 OPEN_DOCUMENT intent 打开或创建文件即可集成存储访问框架。

5.低功耗传感器

  1. 传感器批处理。
    Android 与设备硬件配合,分批有效地收集和传递传感器事件,而不是在检测到这些事件时单独收集和传递。显著降低传感器持续活动所消耗的电量。
  2. 步测器和计步器
    Android 4.4 增加了两种新的复合传感器 — 步测器和计步器。新的传感器在硬件中实现,以降低耗电量。由于平台和基础硬件内置逻辑和传感器管理,因此您无需在应用中保留自己的检测算法。

6.短信提供程序

  1. 共享短信提供程序。
  2. 接收到消息后,系统使用新的 SMS_DELIVER intent 直接将它路由到用户的默认消息传递应用。其他应用仍然可以使用 SMS_RECEIVED intent 侦听传入的消息。
  3. 系统现在还允许默认应用将消息数据写入提供程序,但其他应用可以随时读取这些数据。
  4. 不是用户默认应用的应用仍然可以发送消息,系统为应用处理将这些消息写入提供程序的工作,以便用户可以在默认应用中看到消息。

7.开发漂亮应用的新方式

  1. 全屏沉浸模式。
    Android 4.4 添加了新的全屏沉浸模式,隐藏所有系统 UI,例如状态栏和导航栏。
  2. 用于动画场景的转场框架。
    您可以使用 TransitionManager自定义您的应用中转场场景动画。
  3. 透明系统 UI 样式。
    您可以使用新的窗口样式和主题请求透明系统 UI,包括状态栏和导航栏。
  4. 增强的通知访问功能。
    通知侦听器服务现在可以查看通知的更多信息,可以访问通知操作以及新的额外的字段(文本、图标、图片、进程、精密计时器等其他多种字段),提取有关通知的更加简练的信息。
  5. Chromium WebView
    Android 4.4 包含基于 Chromium 的 WebView 的全新实现。Chromium WebView 为 HTML5、CSS3 和 JavaScript 提供广泛支持。新的 Chromium WebView 支持使用 Chrome DevTools 进行远程调试。例如,您可以在开发机器上使用 Chrome DevTools 检测、调试和分析移动设备中存储的 WebView 内容。

8.新的媒体功能

  1. 屏幕录制
    Android 4.4 添加了对屏幕录制的支持,提供屏幕录制实用程序。录屏将视频存储为 MP4 文件,输出保留显示屏的纵横比。默认情况下,此实用程序将选择与当前屏幕方向设备分辨率相同或接近的分辨率。如果您不希望屏幕录制程序捕获您的应用播放的视频或其他受保护的内容,您可以使用 SurfaceView.setSecure() 将内容标记为安全内容。 Android SDK 中包含的 adb 工具,使用命令 adb shell screenrecord 访问屏幕录制功能,启动和停止录制。您也可以通过 Android Studio 中的 DDMS 面板启动它。
  2. 通过自适应播放切换分辨率
    Android 媒体框架在4.4这个版本将对自适应播放正式支持。自适应播放是指输入设备支持的分辨率或更高分辨率的视频帧,输出适配屏幕的分辨率,且这种自适应切换不会出现大间隙。利用 Android 4.4 中的分辨率切换功能,媒体应用可以显著改善流式视频体验。应用可以在运行时使用现有 API 检查是否支持自适应播放,并使用 Android 4.4中引入的新 API 实现分辨率切换。
  3. DASH 通用加密
    Android 现在支持 MPEG-DASH 通用加密 (CENC),为管理受保护的内容提供标准的多平台 DRM 方案。
  4. HTTP 直播流式传输
    Android 4.4 将平台的 HTTP 直播流式传输 (HLS) 支持更新到第 7 版 HLS 规范(第 4 版协议)的超集。
  5. DSP 音频隧道
    Android 4.4 添加了对设备芯片组中的数字信号处理器 (DSP) 音频隧道的平台支持。通过隧道处理,音频解码和输出效应转移到 DSP,减少唤醒应用处理器的频率和耗电量。
    对于在屏幕关闭时通过耳机聆听音乐等用例,音频隧道可以显著延长电池使用寿命。例如,通过音频隧道,Nexus 5 的离线网络音频播放总时长可以长达 60 个小时,比非隧道音频延长超过 50%。
  6. 音频监控
    应用可以在 Visualizer 效果中使用新的监控工具,更新设备当前播放的任何音频的峰值和有效值 (RMS) 水平。

9.新的连接类型

  1. 新的蓝牙配置文件
    Android 4.4 支持两种新的蓝牙配置文件,让应用能够支持更多类型的低功耗媒体交互。Bluetooth HID over GATT (HOGP) 让应用可以较短的延迟时间与低功耗外围设备(例如鼠标、操纵手柄和键盘)连接。Bluetooth MAP 让您的应用可以与附近的设备(例如无需用手操作的汽车终端或其他移动设备)交换消息。作为对 Bluetooth AVRCP 1.3 的扩展,用户现在可以通过蓝牙设备设置系统的绝对音量。
  2. 红外发射器
    Android 4.4 引入了对内置红外线增强器的支持,您可以开发允许用户远程控制附近 TV、调谐器、开关及其他电子设备的应用。此 API 让您的应用可以检查手机或平板电脑是否具有红外发射器,查询其载波频率,然后发送红外信号。
  3. Wi-Fi TDLS 支持
    Android 4.4 引入一种无缝的方式,通过支持 Wi-Fi Tunneled Direct Link Setup (TDLS),在相同 WLAN 网络中的不同设备之间更快地流式传输媒体数据及其他数据。

10.安全增强功能

Android 添加了对另外两种加密算法的支持,进一步提升了其安全性。已向密钥库提供程序添加椭圆曲线数字签名算法 (ECDSA) 支持,从而提升了数字签名的安全性,适用于应用签名或数据连接等场景。实现 Scrypt 密钥派生函数,以保护用于全磁盘加密的加密密钥。

11.内存使用率分析工具

一款名为 procstats 的新工具可帮助您分析您的应用使用的内存资源,以及系统中运行的其他应用和服务使用的资源。
Android 4.4 包含新的开发者选项,不论应用在何种设备或模拟器上运行,均可以更加简便地分析应用的内存使用情况。它尤其有助于了解应用的内存使用情况和在低内存设备上的运行情况。您可以在 Settings > Developer options > Process stats 中访问此选项。

*12.常用API应该注意的部分

  1. 如果您的应用从外部存储空间读取…
    您的应用在 Android 4.4 上运行时无法读取外部存储空间上的共享文件,除非您的应用具有 READ_EXTERNAL_STORAGE 权限。也就是说,没有此权限,您无法再访问 getExternalStoragePublicDirectory() 返回的目录中的文件。但是,如果您仅需要访问 getExternalFilesDir() 提供的您的应用特有目录,那么,您不需要 READ_EXTERNAL_STORAGE 权限。
  2. 如果您的应用使用 AlarmManager…
    将您的应用的 targetSdkVersion 设置为“19”或更高版本时,您使用 set() 或 setRepeating() 创建的闹铃将变得不准确。为提高电源效率,Android 现在批处理在合理的相似时间发生的所有应用的闹铃,以便系统仅唤醒设备一次,而不是多次唤醒设备来处理每个闹铃。如果您的闹铃没有与精确的时钟时间关联,但您的闹铃仍必须在特定时间范围(例如,在下午 2 点至 4 点之间)触发,那么您可以使用新的 setWindow() 方法,其接受闹铃的“最早”时间以及最早时间之后的一个时间“窗口”,在这个窗口内,系统应触发闹铃。如果您的闹铃必须固定到一个精确的时钟时间(例如,日历事件提醒),那么您可以使用新的 setExact() 方法。
  3. 如果您的应用使用 ContentResolver 同步数据…
    将应用的 targetSdkVersion 设置为“19”或更高版本时,使用 addPeriodicSync() 创建同步将在默认的 Flex 间隔内(在您指定期间的 4% 左右)执行您的同步操作。例如,如果您的轮询频率是 24 小时,则您的同步操作每天可能会在大约一小时的时间窗口内发生,而不是在确切地同一时间发生。要指定您自己的 Flex 间隔进行同步操作,您应开始使用新的 requestSync() 方法。
    ContentResolver 中新的 requestSync() 方法将请求封装在新的 SyncRequest 对象中(您可以使用 SyncRequest.Builder 创建该对象),从而简化了为 ContentProvider 定义同步请求的一些步骤。SyncRequest 中的属性提供与现有 ContentProvider 同步调用相同的功能,但增加了一项功能,即:可以通过启用 setDisallowMetered() 指定当网络按流量计费时应放弃同步。
  4. 短信提供程序
    Telephony 内容提供程序(“短信提供程序”)允许应用读写设备上的短信和彩信。它包含已进行接收、起草、发送、挂起等操作的短信和彩信的表格。
    从 Android 4.4 开始,系统设置允许用户选择一个“默认短信应用”。选择后,只有默认短信应用可以在短信提供程序中进行写入操作,并且当用户接收短信或彩信时,只有默认短信应用可以接收 SMS_DELIVER_ACTION 广播或 WAP_PUSH_DELIVER_ACTION 广播。默认短信应用有责任在收到或发送新消息时将消息的详细信息写入短信提供程序。
    其他未被选为默认短信应用的应用只能读取短信提供程序,但通过侦听 SMS_RECEIVED_ACTION 广播,这些应用也许会在设备接收短信时收到通知,因为该广播是不可中止的,所以可能会发送给多个应用。此广播主要用于那些没有被选为默认短信应用、但需要读取特殊传入消息(例如进行手机号码验证)的应用。
  5. 沉浸式全屏模式
    要为您的应用提供填充整个屏幕的布局,适用于 setSystemUiVisibility() 的新标记 SYSTEM_UI_FLAG_IMMERSIVE(与 SYSTEM_UI_FLAG_HIDE_NAVIGATION 结合使用时)将启用新的沉浸式全屏模式。在启用沉浸式全屏模式后,您的 Activity 将继续接收所有触摸事件。用户可以沿着系统状态栏正常出现的区域向内滑动来显示系统状态栏。这将清除 SYSTEM_UI_FLAG_HIDE_NAVIGATION 标记(如果应用了 SYSTEM_UI_FLAG_FULLSCREEN 标记,也会清除该标记),因此系统状态栏保持可见状态。但是,如果您想要系统状态栏在片刻后再次隐藏,可以改用 SYSTEM_UI_FLAG_IMMERSIVE_STICKY 标记。
  6. 透明系统状态栏
    现在,您可以使用新主题背景 Theme.Holo.NoActionBar.TranslucentDecor 和 Theme.Holo.Light.NoActionBar.TranslucentDecor 将系统状态栏设置为部分透明。通过启用透明系统状态栏,您的布局将填充系统状态栏后面的区域,因此,您也必须为不应被系统状态栏覆盖的布局部分启用 fitsSystemWindows。
    如果您要创建自定义主题背景,则将其中某个主题背景设置为父主题背景,或在您的主题背景中添加 windowTranslucentNavigation 和 windowTranslucentStatus 样式属性。
  7. 增强的通知侦听器
    Android 4.3 添加了 NotificationListenerService API,从而允许应用在系统发布新通知后接收有关新通知的信息。在 Android 4.4 中,通知侦听器可以检索通知的附加元数据,并填写有关通知操作的详细信息:
    新增的 Notification.extras 字段包含一个 Bundle,以向您的通知生成器提供 EXTRA_TITLE 和 EXTRA_PICTURE 等附加元数据。新增的 Notification.Action 类定义附加到通知的操作的特性,您可以从新的 actions 字段中检索这些特性。

[Android各版本特性]Android 4.4 Kitkat相关推荐

  1. [Android各版本特性]Android 7.0 Nougat

    [Android各版本特性]专栏目录: 01. Android API 版本对照表 02. Android 4.4以前版本特性 03. 为什么以Android4.4做分界线 04. Android 4 ...

  2. Android各个版本特性简介

    俗话说,磨刀不误砍柴工.没错,今天就来聊点砍柴的事.由于Android系统更新速度快,导致市面上的Android系统版本不一(专业术语叫碎片化严重).而作为程序开发者,必须尽量照顾到各种版本的系统,s ...

  3. Android发展史(Android各版本特性-知识篇)

    文章整理了Android 0.x,Android 1.x, Android 2.x,Android 3.x,Android 4.x,Android 5.x,Android 6.x相关更新的内容 文章主 ...

  4. android核心版本特性(官网)

    看了一些文章~没有合适的,个人觉得对于一些和编程无关紧要的特性,比如xxx速度提升多少这种就不要列出来啦~ 下面是从官网中截取的部分我觉得重要的特性.如果想看全面完整的:官网,不用科技也能看~就是慢一 ...

  5. android 各个版本特性

    一:介绍 我们可以看到Android版本对应的Api版本 二:Android 6.0 Google I/O 2015大会如约已于2015年5月28日举行.在发布会上代号为"Marshmall ...

  6. Android不同版本特性知识点

    不同版本特性 版本 特性 6.0 动态权限 7.0 1.应用间共享文件 禁止使用 file://URI ,否则抛出 FileUriExposedException 异常 在应用间共享文件,需要通过 c ...

  7. Android平台版本特性介绍

    2014谷歌I/O开发者大会于北京时间6月26日0点在美国旧金山举行,发布全新移动操作系统Android L.Android Auto车载系统.Android Wear智能手表系统以及低价Androi ...

  8. Android 各版本特性(Android6-14)

    一:介绍 Android版本对应的Api版本 二:Android 6.0 (API 23) Google I/O 2015大会如约已于2015年5月28日举行.在发布会上代号为"Marshm ...

  9. Android各版本对应Android API(知识累积)

    首先是各个版本对应的API API等级30:Android 11 API等级29:Android 10.0 Android Q API等级28: Android 9.0 API等级27: Androi ...

最新文章

  1. android json转db,Android Room:将json结果转换为db对象的有效方法
  2. 鸿蒙os电视是安卓,适配鸿蒙OS系统的机型又增加了!和安卓系统相比鸿蒙有哪些特点?...
  3. R语言ggplot2可视化保存高分辨率的图片(high resolution)实战
  4. sqlanyshere转mysql_【SQL】Oracle和Mysql的分页、重复数据查询(limit、rownum、rowid)
  5. 2011 IBM IIS:聚百年智慧精髓 筑最优信息架构
  6. MySQL 视图的基础操作
  7. js 中的[] {}是什么意思
  8. 域控dns无法解析域控_域注册商,DNS和托管
  9. php ckeditor 配置,Laravel5.6框架使用CKEditor5相关配置详解
  10. 继续教育计算机组成原理a试卷,计算机组成原理模拟试题及答案西工大.doc
  11. 内核中的UDP socket流程(3)(4)——sock_create
  12. 宿华、程一笑上市演讲:上市是接受更大机遇和挑战的新起点
  13. 【超全指南】Java 8 中使用 Optional 处理 null 对象
  14. Waymo捷豹合推电动无人车I-PACE,将加入无人出租车队
  15. 6天掌握记忆宫殿,你就是记忆大师
  16. python数据挖掘实验报告_数据挖掘实习报告
  17. 将新项目上传到SVN服务器
  18. 开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)
  19. java数据类型ppt,Java语言基础01数据类型02.ppt
  20. rabbit的安装配置过程

热门文章

  1. Android工程中方法数超过65536解决方法
  2. 用“法外狂徒”理解C++中的引用
  3. 快消品行业B2B电商平台解决方案
  4. java基于ssm+jsp的抑郁症心理健康科普交流网站
  5. 创意简约中国风新年快乐牛年大吉通用PPT模板
  6. ‘data‘ hides member of supertype ‘BaseExpAdapter‘ and needs ‘override‘ modifier
  7. 判断浏览器必须是IE10以上,低于IE10做出提示
  8. 跟着开涛学习网址收藏
  9. KVC基本原理和用法
  10. dell笔记本外接显示器_戴尔笔记本怎么连接外接显示器?