Android 8.0新特性

非常抱歉,我个人写博客,一般懒得去排版,矫正,所以,有点乱。我也根据编辑文字的经验,尽可能有条理,方便阅读和理解结构内容。

最近中国的IT的创业应该到了一定的阶段了,互联网+的概念,走的差不多了。在这个融资环境下,机会不再更多,不再蜂拥,更多的理性和高水平。国内的小公司,业务多少有些变化了,其中,非常可喜的是,有一些公司,开始承接东南亚或者港澳日本的项目了,或者西方的国家,把研发搬到中国来。。除了依然像富士康一下的外包IT公司,这样的一些公司,蛮漂亮的,注入了新的活力。

      好了,扯淡的话,就不讲了,在说andorid8.0之前,先回顾一下,老的版本。


新特性


通知

在 Android O 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式。这些变更包括

通知渠道:Android O 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。
通知标志:Android O 引入了对在应用启动器图标上显示通知标志的支持
休眠:用户可以将通知置于休眠状态,以便稍后重新显示它。
通知超时:现在,使用 setTimeoutAfter() 创建通知时您可以设置超时。
通知设置:当您使用 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCESIntent 从通知创建指向应用通知设置的链接时,您可以调用 setSettingsText() 来设置要显示的文本。
通知清除:系统现在可区分通知是由用户清除,还是由应用移除。
背景颜色:您现在可以设置和启用通知的背景颜色。
消息样式:
现在,使用 
MessagingStyle 类的通知可在其折叠形式中显示更多内容。更改了 ContentResolver.notifyChange() 和 registerContentObserver(Uri, boolean, ContentObserver) 在针对 Android O 的应用中的行为方式。

AutoFill自动填充框架

Android O 通过引入自动填充框架,简化了登录和信用卡表单之类表单的填写工作。在用户选择接受自动填充之后,新老应用都可使用自动填充框架。
Settings  >  System  >  Languages & input  >  Advanced  >  Input assistance  >  Autofill service


画中画模式

当某个 Activity 处于 PIP 模式时,它会处于暂停状态,但仍应继续显示内容。因此,您应确保您的应用在  onPause()  处理程序中进行处理时不会暂停播放。相反,您应在  onStop()  中暂停播放视频,并在  onStart() 中继续播放。如需了解详细信息,请参阅 多窗口生命周期

        请在清单中将 android:supportsPictureInPicture 设置为 true。(从 Android O 开始,如果您打算在 Android TV 或其他 Android 设备上支持 PIP 模式,则无需将 android:resizeableActivity 设置为 true;只有在您的 Activity 支持其他多窗口模式时,才需要设置 android:resizeableActivity。)。

可下载字体Downloadable fonts

Android O 和 Android 支持库 26 允许您从提供程序应用请求字体。fonts in xml 功能。

XML 中的字体

Android O 推出一项新功能,即 XML 中的字体,允许您使用字体作为资源。在运行 API 版本 14 及更高版本的设备中,支持库 26 对此功能提供完全支持。


视图焦点

可点击的 View 对象现在默认也可以成为焦点。如果您希望 View 对象可点击但不可成为焦点,请在包含 View 的布局 XML 文件中将 android:focusable属性设置为 false

自动调整 TextView 的大小

Android O 允许您根据 TextView 的大小自动设置文本展开或收缩的大小。

自适应图标  Adaptive Icons

Android O 引入自适应启动器图标。自适应图标支持视觉效果,可在不同设备型号上显示为各种不同的形状。


颜色管理

图像应用的 Android 开发者现在可以利用支持广色域彩色显示的新设备。要显示广色域图像,应用需要在其清单(每个操作组件)中启用一个标志,并加载具有嵌入的广域彩色配置文件(AdobeRGB、Pro Photo RGB、DCI-P3 等)的位图。

固定快捷方式和小部件   Pinning shortcuts

Android O 引入了快捷方式和微件的应用内固定功能。在您的应用中,您可以根据用户权限为支持的启动器创建固定的快捷方式和小部件。

如需了解详细信息,请参阅固定快捷方式和微件预览功能指南。


多显示器支持 Multi-display support

        从 Android O 开始,此平台为多显示器提供增强的支持。如果 Activity 支持多窗口模式,并且在具有多显示器的设备上运行,则用户可以将 Activity 从一个显示器移动到另一个显示器。当应用启动 Activity 时,此应用可指定 Activity 应在哪个显示器上运行。


如果你是应用开发者,开到这里,就OK了。如果是系统开发者,或者想了解更多,可以继续:

新的 StrictMode 检测程序

Android O 添加了三个新的 StrictMode 检测程序,帮助识别应用可能出现的错误:

缓存数据

Android O 优化了缓存数据的导航和行为。现在,每个应用均获得一定的磁盘空间配额,用于存储 getCacheQuotaBytes(UUID) 返回的缓存数据。

当系统需要释放磁盘空间时,将开始从超过配额最多的应用中删除缓存文件。

内容刷新请求

现在,ContentProvider 和 ContentResolver 类均包含 refresh() 函数,这样,客户端可以更轻松地知道所请求的信息是否为最新信息。

JobScheduler 改进

Android O 引入了对 JobScheduler 的多项改进。由于您通常可以使用计划作业替代现在受限的后台服务或隐式广播接收器,这些改进可以让您的应用更轻松地符合新的后台执行限制

findViewById() 签名变更

现在,findViewById() 函数的全部实例均返回 <T extends View> T,而不是 View

权限

在 Android O 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。

对于针对 Android O 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。
Android O 引入了多个与电话有关的新权限:
ANSWER_PHONE_CALLS 允许您的应用通过编程方式接听呼入电话。要在您的应用中处理呼入电话,您可以使用 acceptRingingCall() 函数。
READ_PHONE_NUMBERS 权限允许您的应用读取设备中存储的电话号码。
这些权限均被划分为危险类别,属于 PHONE 权限组。

更新的 Java 支持

Android O 添加了对更多 OpenJDK Java API 的支持:


记录未捕获的异常

如果某个应用安装的 Thread.UncaughtExceptionHandler 未移交给默认的 Thread.UncaughtExceptionHandler,则当出现未捕获的异常时,系统不会终止应用。从 Android O 开始,在此情况下系统将记录异常堆栈跟踪情况;在之前的平台版本中,系统不会记录异常堆栈跟踪情况。

提醒窗口

使用 SYSTEM_ALERT_WINDOW 权限的应用无法再使用以下窗口类型来在其他应用和系统窗口上方显示提醒窗口:

相反,应用必须使用名为 TYPE_APPLICATION_OVERLAY 的新窗口类型。


ANDROID_ID  的值现在将根据应用签署密钥和用户确定作用域。应用签署密钥、用户和设备的每个组合都具有唯一的  ANDROID_ID  值。

智能文本选择,

无障碍功能按钮,

独立的音量调整,

指纹手势,Pointer capture

创建一个View,用来监听用户的手势。

提示文本,

连续的手势分派,

新的帐号访问和 Discovery API,.


我以前曾经把jdk1.5-1.8的新特性整理处理。现在我觉着,可以把Android8.0-4.4之前主要几个整理一下。感觉,挺多人喜欢看这些东西。


**************红色警戒**************************

这里插入说一下android8.0 Api的一个改动,发现这个改动在 Google 文档里面居然没有:

Only fullscreen opaque activites can request orentation ... 引发的  illegalStateException.

在android8.0中,如果手动置为竖屏,则不允许window使用透明的北京颜色。这个需要注意,解决办法,有很多途径,通过xml version适配,sdk if else,等,都可以。
***************警戒解除***********************


XML 中的字体

Android O 推出一项新功能,即 XML 中的字体,允许您使用字体作为资源。在运行 API 版本 14 及更高版本的设备中,支持库 26 对此功能提供完全支持。


非常抱歉,我个人写博客,一般懒得去排版,矫正,所以,有点乱。我也根据编辑文字的经验,尽可能有条理,方便阅读和理解结构内容。

最近中国的IT的创业应该到了一定的阶段了,互联网+的概念,走的差不多了。在这个融资环境下,机会不再更多,不再蜂拥,更多的理性和高水平。国内的小公司,业务多少有些变化了,其中,非常可喜的是,有一些公司,开始承接东南亚或者港澳日本的项目了,或者西方的国家,把研发搬到中国来。。除了依然像富士康一下的外包IT公司,这样的一些公司,蛮漂亮的,注入了新的活力。

      好了,扯淡的话,就不讲了,在说andorid8.0之前,先回顾一下,老的版本。


新特性


通知

在 Android O 中,我们已重新设计通知,以便为管理通知行为和设置提供更轻松和更统一的方式。这些变更包括

通知渠道:Android O 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。
通知标志:Android O 引入了对在应用启动器图标上显示通知标志的支持
休眠:用户可以将通知置于休眠状态,以便稍后重新显示它。
通知超时:现在,使用 setTimeoutAfter() 创建通知时您可以设置超时。
通知设置:当您使用 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCESIntent 从通知创建指向应用通知设置的链接时,您可以调用 setSettingsText() 来设置要显示的文本。
通知清除:系统现在可区分通知是由用户清除,还是由应用移除。
背景颜色:您现在可以设置和启用通知的背景颜色。
消息样式:
现在,使用 
MessagingStyle 类的通知可在其折叠形式中显示更多内容。更改了 ContentResolver.notifyChange() 和 registerContentObserver(Uri, boolean, ContentObserver) 在针对 Android O 的应用中的行为方式。

AutoFill自动填充框架

Android O 通过引入自动填充框架,简化了登录和信用卡表单之类表单的填写工作。在用户选择接受自动填充之后,新老应用都可使用自动填充框架。
Settings  >  System  >  Languages & input  >  Advanced  >  Input assistance  >  Autofill service


画中画模式

当某个 Activity 处于 PIP 模式时,它会处于暂停状态,但仍应继续显示内容。因此,您应确保您的应用在  onPause()  处理程序中进行处理时不会暂停播放。相反,您应在  onStop()  中暂停播放视频,并在  onStart() 中继续播放。如需了解详细信息,请参阅 多窗口生命周期

        请在清单中将 android:supportsPictureInPicture 设置为 true。(从 Android O 开始,如果您打算在 Android TV 或其他 Android 设备上支持 PIP 模式,则无需将 android:resizeableActivity 设置为 true;只有在您的 Activity 支持其他多窗口模式时,才需要设置 android:resizeableActivity。)。

可下载字体Downloadable fonts

Android O 和 Android 支持库 26 允许您从提供程序应用请求字体。fonts in xml 功能。

XML 中的字体

Android O 推出一项新功能,即 XML 中的字体,允许您使用字体作为资源。在运行 API 版本 14 及更高版本的设备中,支持库 26 对此功能提供完全支持。


视图焦点

可点击的 View 对象现在默认也可以成为焦点。如果您希望 View 对象可点击但不可成为焦点,请在包含 View 的布局 XML 文件中将 android:focusable属性设置为 false

自动调整 TextView 的大小

Android O 允许您根据 TextView 的大小自动设置文本展开或收缩的大小。

自适应图标  Adaptive Icons

Android O 引入自适应启动器图标。自适应图标支持视觉效果,可在不同设备型号上显示为各种不同的形状。


颜色管理

图像应用的 Android 开发者现在可以利用支持广色域彩色显示的新设备。要显示广色域图像,应用需要在其清单(每个操作组件)中启用一个标志,并加载具有嵌入的广域彩色配置文件(AdobeRGB、Pro Photo RGB、DCI-P3 等)的位图。

固定快捷方式和小部件   Pinning shortcuts

Android O 引入了快捷方式和微件的应用内固定功能。在您的应用中,您可以根据用户权限为支持的启动器创建固定的快捷方式和小部件。

如需了解详细信息,请参阅固定快捷方式和微件预览功能指南。


多显示器支持 Multi-display support

        从 Android O 开始,此平台为多显示器提供增强的支持。如果 Activity 支持多窗口模式,并且在具有多显示器的设备上运行,则用户可以将 Activity 从一个显示器移动到另一个显示器。当应用启动 Activity 时,此应用可指定 Activity 应在哪个显示器上运行。


如果你是应用开发者,开到这里,就OK了。如果是系统开发者,或者想了解更多,可以继续:

新的 StrictMode 检测程序

Android O 添加了三个新的 StrictMode 检测程序,帮助识别应用可能出现的错误:

缓存数据

Android O 优化了缓存数据的导航和行为。现在,每个应用均获得一定的磁盘空间配额,用于存储 getCacheQuotaBytes(UUID) 返回的缓存数据。

当系统需要释放磁盘空间时,将开始从超过配额最多的应用中删除缓存文件。

内容刷新请求

现在,ContentProvider 和 ContentResolver 类均包含 refresh() 函数,这样,客户端可以更轻松地知道所请求的信息是否为最新信息。

JobScheduler 改进

Android O 引入了对 JobScheduler 的多项改进。由于您通常可以使用计划作业替代现在受限的后台服务或隐式广播接收器,这些改进可以让您的应用更轻松地符合新的后台执行限制

findViewById() 签名变更

现在,findViewById() 函数的全部实例均返回 <T extends View> T,而不是 View

权限

在 Android O 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。

对于针对 Android O 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。
Android O 引入了多个与电话有关的新权限:
ANSWER_PHONE_CALLS 允许您的应用通过编程方式接听呼入电话。要在您的应用中处理呼入电话,您可以使用 acceptRingingCall() 函数。
READ_PHONE_NUMBERS 权限允许您的应用读取设备中存储的电话号码。
这些权限均被划分为危险类别,属于 PHONE 权限组。

更新的 Java 支持

Android O 添加了对更多 OpenJDK Java API 的支持:


记录未捕获的异常

如果某个应用安装的 Thread.UncaughtExceptionHandler 未移交给默认的 Thread.UncaughtExceptionHandler,则当出现未捕获的异常时,系统不会终止应用。从 Android O 开始,在此情况下系统将记录异常堆栈跟踪情况;在之前的平台版本中,系统不会记录异常堆栈跟踪情况。

提醒窗口

使用 SYSTEM_ALERT_WINDOW 权限的应用无法再使用以下窗口类型来在其他应用和系统窗口上方显示提醒窗口:

相反,应用必须使用名为 TYPE_APPLICATION_OVERLAY 的新窗口类型。


ANDROID_ID  的值现在将根据应用签署密钥和用户确定作用域。应用签署密钥、用户和设备的每个组合都具有唯一的  ANDROID_ID  值。

智能文本选择,

无障碍功能按钮,

独立的音量调整,

指纹手势,Pointer capture

创建一个View,用来监听用户的手势。

提示文本,

连续的手势分派,

新的帐号访问和 Discovery API,.


我以前曾经把jdk1.5-1.8的新特性整理处理。现在我觉着,可以把Android8.0-4.4之前主要几个整理一下。感觉,挺多人喜欢看这些东西。


**************红色警戒**************************

这里插入说一下android8.0 Api的一个改动,发现这个改动在 Google 文档里面居然没有:

Only fullscreen opaque activites can request orentation ... 引发的  illegalStateException.

在android8.0中,如果手动置为竖屏,则不允许window使用透明的北京颜色。这个需要注意,解决办法,有很多途径,通过xml version适配,sdk if else,等,都可以。
***************警戒解除***********************


XML 中的字体

Android O 推出一项新功能,即 XML 中的字体,允许您使用字体作为资源。在运行 API 版本 14 及更高版本的设备中,支持库 26 对此功能提供完全支持。

猜你喜欢

转载自blog.csdn.net/JugglerTao/article/details/80923615