android kitkat(4.4以上)各个版本的特性解析

先看下android官网 API Kitkat(4.4 巧克力)的新特性:

https://developer.android.com/about/versions/android-4.4.html

Lollipop(5.0 棒棒糖)的新特性:

https://developer.android.com/about/versions/android-5.0-changes.html

MarshMallow(6.0 棉花糖)新特性:

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

Nougat(7.0 牛轧糖)的新特性:

https://developer.android.com/about/versions/nougat/android-7.0-changes.html

下面我来具体的说一下各个版本的重点更新:

Kitkat(4.4):

1,权限问题

您的应用在 Android 4.4 上运行时无法读取外部存储空间上的共享文件,除非您的应用具有 READ_EXTERNAL_STORAGE 权限。也就是说,没有此权限,您无法再访问 getExternalStoragePublicDirectory() 返回的目录中的文件。但是,如果您仅需要访问

现在,您可以使用新主题背景 Theme.Holo.NoActionBar.TranslucentDecor 和 Theme.Holo.Light.NoActionBar.TranslucentDecor 将系统状态栏设置为部分透明。通过启用透明系统状态栏,您的布局将填充系统状态栏后面的区域,因此,您也必须为不应被系统状态栏覆盖的布局部分启用 fitsSystemWindows

如果您要创建自定义主题背景,则将其中某个主题背景设置为父主题背景,或在您的主题背景中添加 windowTranslucentNavigation 和 windowTranslucentStatus 样式属性。

增强的通知侦听器

  getExternalFilesDir() 提供的您的应用特有目录,那么,您不需要  READ_EXTERNAL_STORAGE 权限。

您的应用必须使用 <uses-permission> 标记请求下面的新权限才能使用某些新 API:

INSTALL_SHORTCUT 允许应用在启动器中安装快捷键

UNINSTALL_SHORTCUT 允许应用在启动器中卸载快捷键

TRANSMIT_IR 允许应用使用设备的红外线发射器(如果可用)

2,,关于AlarmManager

将您的应用的 targetSdkVersion 设置为“19”或更高版本时,您使用 set() 或 setRepeating() 创建的闹铃将变得不准确。

为提高电源效率,Android 现在批处理在合理的相似时间发生的所有应用的闹铃,以便系统仅唤醒设备一次,而不是多次唤醒设备来处理每个闹铃。

如果您的闹铃没有与精确的时钟时间关联,但您的闹铃仍必须在特定时间范围(例如,在下午 2 点至 4 点之间)触发,那么您可以使用新的 setWindow()方法,其接受闹铃的“最早”时间以及最早时间之后的一个时间“窗口”,在这个窗口内,系统应触发闹铃。

如果您的闹铃必须固定到一个精确的时钟时间(例如,日历事件提醒),那么您可以使用新的 setExact() 方法。

这个精确的批处理行为仅适用于更新后的应用。如果您已将 targetSdkVersion 设置为“18”或更低版本,那么在 Android 4.4 上运行时,您的闹铃的行为方式和在以前版本上一样。

3,关于状态栏

现在,您可以使用新主题背景 Theme.Holo.NoActionBar.TranslucentDecor 和 Theme.Holo.Light.NoActionBar.TranslucentDecor 将系统状态栏设置为部分透明。通过启用透明系统状态栏,您的布局将填充系统状态栏后面的区域,因此,您也必须为不应被系统状态栏覆盖的布局部分启用 fitsSystemWindows

如果您要创建自定义主题背景,则将其中某个主题背景设置为父主题背景,或在您的主题背景中添加 windowTranslucentNavigation 和 windowTranslucentStatus 样式属性。

等等还有其他的重要更新,我只说一些比较常用的

MarshMallow(5.0)

1,ART(Android Runtime)

在 Android 5.0 中,ART 运行时取代 Dalvik 成为平台默认设置。Android 4.4 中已引入处于实验阶段的 ART 运行时。

关于Dalvik和ART的详解和区别可以参考以下文章:

http://blog.csdn.net/luoshengyang/article/details/39256813(老罗的深入分析ART)

http://www.jb51.net/article/88708.htm(区别的概述)

2,通知

包括样式,声音和振动,浮动通知(比如微信和qq的浮动窗口的通知)

3,其他权限问题

MarshMallow(6.0)

1,权限(手动检查和提醒用户)

此版本引入了一种新的权限模式,如今,用户可直接在运行时管理应用权限。这种模式让用户能够更好地了解和控制权限,同时为应用开发者精简了安装和自动更新过程。用户可为所安装的各个应用分别授予或撤销权限。

对于以 Android 6.0(API 级别 23)或更高版本为目标平台的应用,请务必在运行时检查和请求权限。要确定您的应用是否已被授予权限,请调用新增的 checkSelfPermission() 方法。要请求权限,请调用新增的 requestPermissions() 方法。即使您的应用并不以 Android 6.0(API 级别 23)为目标平台,您也应该在新权限模式下测试您的应用。

2,Doze(休眠)

Doze模式下的app的网络连接被断开,闹钟AlarmManager失效,数分钟后应用被杀死(白名单的应用除外)

3,ART

ART 运行时环境现在可正确实现 newInstance() 方法的访问规则。此变更修正了之前版本中 Dalvik 无法正确检查访问规则的问题。如果您的应用使用 newInstance() 方法,并且您想重写访问检查,请调用 setAccessible() 方法(将输入参数设置为 true)。如果您的应用使用 v7 appcompat 库或 v7 recyclerview 库,则您必须更新应用以使用这些库的最新版本。否则,请务必更新从 XML 引用的任何自定义类,以便能够访问它们的类构造函数。

此版本更新了动态链接程序的行为。动态链接程序现在可以识别库的 soname 与其路径之间的差异(公开错误 6670),并且现在已实现了按 soname 搜索。之前包含错误的 DT_NEEDED 条目(通常是开发计算机文件系统上的绝对路径)却仍工作正常的应用,如今可能会出现加载失败。

现已正确实现 dlopen(3) RTLD_LOCAL 标记。请注意,RTLD_LOCAL 是默认值,因此不显式使用 RTLD_LOCAL 的 dlopen(3) 调用将受到影响(除非您的应用显式使用 RTLD_GLOBAL)。使用 RTLD_LOCAL 时,在随后通过调用 dlopen(3) 加载的库中并不能使用这些符号(这与由 DT_NEEDED 条目引用的情况截然不同)。

在之前版本的 Android 上,如果您的应用请求系统加载包含文本重定位信息的共享库,系统会显示警告,但仍允许加载共享库。从此版本开始,如果您的应用的目标 SDK 版本为 23 或更高,则系统会拒绝加载该库。为帮助您检测库是否加载失败,您的应用应该记录 dlopen(3) 失败日志,并在日志中加入 dlerror(3) 调用返回的问题描述文本。

4,网络WIFI

此版本对 WLAN API 和 Networking API 引入了以下行为变更。

  • 现在,您的应用只能更改由您创建的 WifiConfiguration 对象的状态。系统不允许您修改或删除由用户或其他应用创建的 WifiConfiguration 对象。
  • 在之前的版本中,如果应用利用带有 disableAllOthers=true 设置的 enableNetwork() 强制设备连接特定 WLAN 网络,设备将会断开与移动数据网络等其他网络的连接。在此版本中,设备不再断开与上述其他网络的连接。如果您的应用的 targetSdkVersion 为 “20” 或更低,则会固定连接所选 WLAN 网络。如果您的应用的 targetSdkVersion 为 “21” 或更高,请使用多网络 API(如 openConnection()bindSocket() 和新增的 bindProcessToNetwork() 方法)来确保通过所选网络传送网络流量。

4,App Links(APP关联)
  安卓6.0加强了软件间的关联,谷歌在现场展示了 一个例子,比如你的手机邮箱里收到一封邮件,内文里有以个Twitter链接,用户点击该链接可以直接跳转到Twitter应用,而不再是网页。

其他通知和改变就不一一详解了,其实主要就是增加了系统的安全性

Nougat(7.0 )

1,多屏多任务

进入后台多任务管理页面,然后按其中的一张卡片,向上推送至顶部即可开启分屏多任务,支持上下和左右分栏,允许两个App

的屏幕占比拖动

2,通知栏消息快捷回复

3,电量和内存上的进一步优化(Doze模式的优化dengdeng)



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android是一个不断发展的操作系统,每个版本都会带来新的特性和功能。下面是Android各个版本的主要特性: 1. Android 1.0:这是Android最初的版本,它引入了基本的移动设备功能,如电话、短信、联系人和浏览器等。 2. Android 1.5 Cupcake:这个版本引入了虚拟键盘、文本选择和复制功能、支持视频录制和上传功能等。 3. Android 1.6 Donut:这个版本引入了快捷搜索框、支持多点触摸屏幕、更新了相机应用等。 4. Android 2.0 Eclair:这个版本引入了支持多个帐户的联系人和电子邮件应用、支持蓝牙2.1和Live Wallpapers等。 5. Android 2.2 Froyo:这个版本引入了支持Adobe Flash Player、移动热点功能、应用程序存储在SD卡上等。 6. Android 2.3 Gingerbread:这个版本引入了新的用户界面设计、支持多摄像头、支持NFC技术等。 7. Android 4.0 Ice Cream Sandwich:这个版本引入了全新的用户界面设计、支持Face Unlock、支持Android Beam等。 8. Android 4.1 Jelly Bean:这个版本引入了Google Now、支持语音输入、支持通知栏扩展等。 9. Android 4.4 KitKat:这个版本引入了全新的电话应用、支持打印功能、支持Immersive Mode等。 10. Android 5.0 Lollipop:这个版本引入了全新的Material Design设计风格、支持多用户模式、支持免打扰模式等。 11. Android 6.0 Marshmallow:这个版本引入了应用程序权限控制、支持指纹识别、支持Doze电池管理等。 12. Android 7.0 Nougat:这个版本引入了分屏多任务处理、支持应用程序快捷方式、支持通知汇总等。 13. Android 8.0 Oreo:这个版本引入了自适应图标、支持通知通道、支持画中画等。 14. Android 9.0 Pie:这个版本引入了全新的手势导航、支持数字健康功能、支持全面屏显示等。 15. Android 10.0 Q:这个版本引入了系统级暗黑模式、支持全新的共享菜单、支持更好的隐私和安全控制等。 以上是Android各个版本的主要特性,每个版本都有不同的改进和增强,为用户提供更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值