Android 8.0对应的API版本号为26,新系统取名为Android O,O代表是Oreo(奥利奥)。以下总结了Android8.0最新发布版本的较突出的一些新特性。
在I/O2017上,谷歌演示了增强功能的画中画模式。例如用户可以在打电话时观看电影,支持将电影屏幕缩小成悬浮窗口,在看电影的同时也可以进行查看日历、搜索信息等其他工作,这比普通的画中画分屏模式功能更强大。这一功能的唤醒只需要轻轻点击Home键按钮,如果想结束这一模式,可以将小窗口滑下来以终止。
在 Android O 中重新设计了通知,可以很方便的为管理通知行为和设置提供更轻松和更统一的方式。
这些变更包括
通知渠道:Android O 引入了通知渠道的概念,其允许用户为要显示的每种通知类型创建可自定义的渠道,借助渠道,开发者可以让用户对不同种类的通知进行精细控制,用户可以单独拦截或更改每个渠道的行为,而不是统一管理应用的所有通知。
通知标志:Android O 引入了对在应用启动器图标上显示通知标志的支持。
休眠:用户可以将通知置于休眠状态,以便稍后重新显示它。
通知超时:现在使用 setTimeoutAfter() 创建通知时您可以设置超时。
通知设置:当您使用 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCESIntent 从通知创建指向应用通知设置的链接时,您可以调用 setSettingsText() 来设置要显示的文本。
通知清除:系统现在可区分通知是由用户清除,还是由应用移除。
背景颜色:您现在可以设置和启用通知的背景颜色。
谷歌一直在优化安卓Android的后台应用限制策略,以最大程度减小后台应用对电池的消耗和对资源的占用。
Background execution Limits主要有下面两个方面:
当一个应用程序在前台的时候,可以自由运行Foreground 和Background service。但是当应用程序切换到后台的时候,在开始几分钟所有的services都可以正常使用,过几分钟后,系统将会停止所有的Background service,就好比调用了Service.stopSelf( ) 。
在Android O之前,创建一个Foreground Service的方式通常是先创建一个Background Service的方式,再通过startForeground()的方式变为前台。但是在Android O中,如果应用程序运行在后台,那么即不能查创建Background Service,同时也就不能创建Foreground Servicele了。
如果一个应用创建了一个广播接收器,每当这个receiver收到广播的时候,都会消耗系统资源。如果太多应用注册了某个系统事件的receiver,一个系统事件将会唤起所有的receiver,造成同时大量的系统资源被消耗,从而影响用户体验。为了解决这个问题,在Android N中添加了对广播的限制,在Android O这些限制更加严格了。
background location limits
主要是增加了对定位服务,位置更新服务的限制。进一步信息可以参考官方链接:
https://developer.android.com/preview/features/background-location-limits.html
Android 的屏幕适配一直以来开发者不得不面对的难题。为了帮助开发者更好的在设备 UI上进行集成,Android O 开始支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。
如果开发者默认在应用程序图示中使用了圆角正方形,那么应用程序的图标都将是这个形状,将不会出现方形图标和圆形图标混合的现象。
具体可以参考官方链接:
https://developer.android.google.cn/preview/features/adaptive-icons.html
Pinning shortcuts 是一个比 APP shortcuts 更小的快捷方式,放置于桌面上,用于更快速的打开某一 APP 的某单一任务。Pinning shortcuts 在桌面上可呈现不同的图标显示。在您的应用中,您可以根据用户权限为支持的启动器创建固定的快捷方式和小部件。
可以参考官方链接了解更多:
https://developer.android.google.cn/guide/topics/ui/shortcuts.html
Android O 通过引入自动填充框架,在用户选择接受自动填充之后,新老应用都可使用自动填充框架。这个功能对于经常密码登陆或获取重复信息的应用是个福音,对于老应用来说,Android O将会帮助用户进行快速登录,而不用每次都填写账户名和密码。当用户在使用一个新设备时,可以从其他应用中提取已经保存的账户名和密码,选择之后,自动填充功能便可以在本地进行,适用于你可能用到的大多数应用程序。
开发人员需要做的是对其应用程序进行优化,让其应用程序能够和自动填充功能更好地兼容。
除了以上比较突出的特性外,Android O还增加了如下特性。
应用开发人员可以自定义字体样式。
WiFi感知可让用户的Android O设备或应用通过Wi-Fi和附近的其他设备或应用进行通讯,无需实际的互联网连接。
设置菜单整体比Android N更加简洁。
在应用权限设置的“特殊访问权限”中,加入了“安装其他应用”的设置,这主要是为了防止应用内引导用户安装其他无关应用,特别是针对一些流氓应用会比较有效。
Fonts格式在Android O上已经完全支持了。
在Android O里,系统默认开启了多进程提供API来处理错误和异常,增强了安全和稳定性。
增加支持了新的JavaAPI比如java.time API。另外,Android Runtime在某些应用基准下提升了2x的运行速度。
欢迎您扫一扫上面的微信公众号,订阅我的个人公众号!
本公众号将以推送Android各种碎片化小知识或小技巧,以及整理Android面试知识点为主,也会不定期将开发老司机日常工作中踩过的坑,平时自学的一些知识总结出来进行分享。每天一点干货小知识把你的碎片时间充分利用起来。