Android 8.1功能和API 没有影响:
1.神经网络API
2.自动填充框架更新
3.程序化安全浏览操作 在Android 8.1中,您可以通过编程来定义您的应用程序如何响应已知的威胁: 您可以控制您的应用是否将已知威胁报告给安全浏览。 您可以让自己的应用程序自动执行特定操作(例如回到安全状态),每次遇到安全浏览会将其归类为已知威胁的网址时
4.EditText更新 从API级别27开始,该EditText.getText()方法返回一个Editable; 以前它返回一个CharSequence。这种改变是向后兼容的,作为Editable实现 CharSequence。
5.共享内存API Android 8.1(API等级27)引入了一个新的 SharedMemory API
6.WallpaperColors API Android 8.1(API等级27)允许您的动态壁纸为系统UI提供颜色信息
7.指纹更新
8.加密更新 Android 8.1已经进行了许多密码修改:
新的算法已经在Conscrypt中实现。Conscrypt实现优先用于现有的Bouncy Castle实现
9.画中画
10.自适应图标
11.视频缩略图提取器 MediaMetadataRetriever类有一个新的方法,getScaledFrameAtTime()替换 getFrameAtTime()(浪费内存)
可能有影响:
1. 通知 Android 8.1包含对通知的以下更改: 应用程序现在只能每秒发出一次通知警报声音。超过这个速度的警报声音不会排队并丢失。此更改不会影响通知行为的其他方面,通知邮件仍按预期发布。 NotificationListenerService并且 在 被称为ConditionProviderService返回的低内存Android设备上不受支持。 trueActivityManager.isLowRamDevice()
Android 8.1后台执行限制 应用在两个方面受到限制: 后台服务限制:处于空闲状态时,应用可以使用的后台服务存在限制。 这些限制不适用于前台服务,因为前台服务更容易引起用户注意。
处于前台时,应用可以自由创建和运行前台服务与后台服务。 进入后台时,在一个持续数分钟的时间窗内,应用仍可以创建和使用服务。在该时间窗结束后,应用将被视为处于 空闲 状态。
此时,系统将停止应用的后台服务,就像应用已经调用服务的“Service.stopSelf()”方法。
后台应用可以被置于一个临时白名单中并持续数分钟。 位于白名单中时,应用可以无限制地启动服务,并且其后台服务也可以运行。处理对用户可见的任务时,应用将被置于白名单中,例如:
处理一条高优先级 Firebase 云消息传递 (FCM) 消息。
接收广播,例如短信/彩信消息。
从通知执行 PendingIntent。 Android 8.0 有一项复杂功能;系统不允许后台应用创建后台服务。 因此,Android 8.0 引入了一种全新的方法,即 Context.startForegroundService(),以在前台启动新服务。 广播限制:除了有限的例外情况,应用无法使用清单注册隐式广播。 它们仍然可以在运行时注册这些广播,并且可以使用清单注册专门针对它们的显式广播。
针对 Android 8.0 的应用无法继续在其清单中为隐式广播注册广播接收器 之前注册隐式广播的应用使用 JobScheduler 作业可以获得类似的功能
后台执行限制官方迁移指南: 了解您的应用如何使用服务。 如果您的应用依赖某些在它处于空闲时于后台运行的服务,您需要替换这些服务 可能的解决方法包括:
如果处于后台时您的应用需要创建一个前台服务,请使用新的 NotificationManager.startServiceInForeground()方法,而不是创建一个后台服务,然后尝试将其推到前台。 如果服务容易被用户注意,请将其设为前台服务。 例如,播放音频的服务始终应为前台服务。使用 NotificationManager.startServiceInForeground()而不是 startService() 创建服务。 * 寻找一种使用计划作业实现服务功能的方式。 如果服务未在执行容易立即被用户注意到的操作,一般情况下,您都能够使用计划作业。 发生网络事件时,请使用 FCM 选择性地唤醒您的应用,而不是在后台轮询。 在应用正常处于前台之前,请推迟后台工作。 检查在您应用的清单中定义的广播接收器。 如果您的清单为显式广播声明了接收器,您必须予以替换。 可能的解决方法包括:
通过调用 Context.registerReceiver() 而不是在清单中声明接收器的方式在运行时创建接收器。
使用计划作业检查条件是否会触发隐式广播。
Android 8.1 迁移指南
https://developer.android.com/about/versions/oreo/android-8.0-migration.html?hl=zh-cn#bfa