背景介绍

谷歌2017I/O开发者大会今年将于5月17-19日在美国加州举办。大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0。谷歌在今年3 月21日发布 Android 新系统开发者预览版时已给新系统取名为 Android O。自2008 年发布以来, Android 依靠 Google 的生态运作,全球市场份额在2016年底已超过85% 。而近几年依靠 Android 发展起来的智能手机厂商不断增加, Android 生态大家庭也正在不断壮大。

Android O 是 Google 发布的第14个新系统版本。 那备受开发者关注的 Android O 有哪些新特性,开发者需要关注哪些问题呢?腾讯云乐固团队结合相关文档对此进行了分析总结,我们一起来看看 Android O 的新特性及开发指南。

Android O 新特性一介绍及开发指南

通知渠道 — Notification Channels

通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对不同种类的通知进行精细控制,用户可以单独拦截或更改每个渠道的行为,而不是统一管理应用的所有通知。

△ 通知渠道图示

开发指南

创建通知渠道的步骤:

1. 创建 NotificationChannel 对象,并设置应用内唯一的通知 ID。

2. 配置通知渠道的属性,比如提示声音等。

3. 在 NotificationManager 中注册通知渠道对象。

Android O 新特性二介绍及开发指南

画中画模式 — PIP

Android O 现已支持 Activity 的画中画模式。PIP 是一种多窗口显示模式,多用于视频播放,即你可以一边发微信一边看视频。

△ 画中画模式图示

开发指南

1> 关于生命周期

PIP 模式不会改变 Activity 的生命周期。在指定时间只有最近与用户交互过的 Activity 为活动状态。 该 Activity 将被视为顶级 Activity。 所有其他 Activity 虽然可见,但均处于暂停状态。当一个 Activity 处于 PIP 模式时,其实它是出在暂停状态,但其内容会继续展示。

2> API变更

在 Android O 中新增 PictureInPictureArgs 对象来指明你的 Activity 在 PIP 模式中的属性,比如长宽比等。

Android O 还新增了以下方法来支持 PIP。

1. Activity.enterPictureInPictureMode(PictureInPictureArgs args):将Activity置于 PIP 模式之下。

2. Activity.setPictureInPictureArgs():用于更新 Activity 在 PIP 模式下的设置。如果 Activity 正处于 PIP 模式之下,那么更改的属性将立即生效。

Android O 新特性三介绍及开发指南

自适应图标 — Adaptive Icons

Android 的屏幕适配一直以来都折磨着不少的开发者。为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。系统还将实现与图标的自动交互,并在启动器、快捷方式、设置、共享对话框以及概览屏幕中使用它们。

△ Android O 支持创建自适应图标图示

开发指南

1> 自适应图标支持多种形状

通过定义两张图层(前景与背景)你可以制定你的桌面图标外观,你必须提供没有形状和阴影的 PNG 格式图象作为图层。

△ 多形状桌面图标外观图示

2> 自适应图标由两张图层和一个形状来定义

在以前的 Android 版本中,图标大小定义为 48 x 48 dp。现在你必须按照以下的规范定义你的图层大小:

1. 两张图层大小都必须为 108 x 108 dp。

2. 图层中心 72 x 72 dp 范围为可视范围。

3. 系统会保留四周外的 36dp 范围用于生成有趣的视觉效果(如视差和跳动)。

△ 自适用图标由两张图和一个形状定义图示

3>  创建你的自适应图标

首先你需要在 Application 标签中加入 Android:icon 属性,定义你的 icon 图标。其次如果你需要创建一个原型的 icon,你还需要加入 Android:roundIcon 属性。

接下来,你需要 res/mipmap-anydpi/ic_launcher.xml 文件中定义您的图层。在 <maskable-icon> 选项中加入您的前景和背景图层。

Android O 新特性四介绍及开发指南

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

Pinning shortcuts 是一个比 APP shortcuts 更小的快捷方式,放置于桌面上,用于更快速的打开某一 APP 的某单一任务。Pinning shortcuts 在桌面上可呈现不同的图标显示。

△ 固定快捷方式和小部件图示

开发指南

1. 首先使用 isRequestPinShortcutSupported() 方法校验手机是否支持启动这种快捷方式。

2. 创建 ShortcutInfo 对象。

3. 用 requestPinShortcut() 方法应用 Pinning shortcuts。你可以通过 PendingIntent 来通知你的 shortcuts 有没有创建成功。

Android O 其他特性介绍

除了以上几个新特性以外,Android O 还未增加了其他的功能。比如增加了 Autofill Framework,方便用户在不同 APP 之间填写信息。比如开放了android.permission.ANSWER_PHONE_CALLS,以后在自己的 APP 里也可以对来电做响应。

在性能优化上,Android O 还对隐式广播、后台服务和位置更新等进行了后台自动限制,以此来增加手机电池寿命。并对 Java 8 Language API 和 Runtime 进行了优化,使应用的运行速度更快,手机使用更流畅。

今年谷歌2017 I/O 开发者大会还会带来什么你期待的呢?我们也将持续关注。

总结

Android 每次的更新,虽然表面上没有非常惊艳的新功能,但在内部,Google 为 Android 的性能做了很多的优化,让 Android 更快更强更有内涵。

目前 Android 的市场占比已经超过85%,智能手机已经全面普及,对于广大手机厂商来说,适配 Google 的系统版本更新迭代是一个挑战。对于开发者来说,让自己的 APP 兼容新系统是首要任务。

原文地址:http://www.4hou.com/technology/4270.html

开发者必看|Android 8.0 新特性及开发指南相关推荐

  1. Android6.0新特性及开发指南(转载)

    本文通过翻译官方文档和google开发者大会资料收集得出,转载请注明出处. Android 6.0系统新特性及功能说明... 1 1       优化用户体验:... 1 1.1        应用权 ...

  2. Android 4.0新特性(中文)

    Android 4.0新特性(中文) 转自http://www.eoeandroid.com/thread-103300-1-1.html android4.0 SDK发布有一段时间了,在eoe上找到 ...

  3. android 5.0 新功能,Android 5.0新特性有哪些?安卓5.0新功能汇总

    Android 5.0新特性有哪些?经过一段时间曝光与测试后,期待已久的Android L系统正式发布了,新一代安卓系统正式名称为Android 5.0 Lollipop(棒棒糖).Android 5 ...

  4. 安卓9.0发布,献上Android 9.0新特性适配处理

    安卓9.0即Android 9.0已经面向全球发布,它的代号是Pie,仍然基于Linux内核构建.为了避免Android 9.0 Pie新特性更新引发的适配问题,本文将介绍Android 9.0将带来 ...

  5. Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性)

    Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性) 1 效果 2 BaseHolder的封装 public class BaseViewH ...

  6. RecyclerView(四)设置分割线样式(Android 5.0 新特性)

    Android RecyclerView(四)设置分割线样式(Android 5.0 新特性) 样式一 在这里,其实是设置了每一个 条目布局中的子布局的android:layout_margin = ...

  7. RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性)

    Android RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性) 效果 1 聊天窗口子视图布局文件 1.1 左边消息视图布局文件 使用到的背景图片 <?xml v ...

  8. RecyclerView(一)综合使用综述(Android 5.0 新特性)

    Android RecyclerView(一)综合使用综述(Android 5.0 新特性) RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强 ...

  9. Android 8.0新特性(看这篇文章就够了)

    2019独角兽企业重金招聘Python工程师标准>>> 在刚结束不久的谷歌 I/O2017开发者大会上发布的第二个Android O(安卓8.0)开发者预览,并且向普通用户开放了第二 ...

最新文章

  1. 优化自定义函数_Pandas常见的性能优化方法
  2. js之base64上传图片
  3. stm32f103移植到f0_STM32F042替换STM32F103
  4. Hibernate 主清单文件配制说明
  5. spring boot security ajax_Spring-Boot-应用可视化监控
  6. Linux Shell 判断块设备节点是否存在
  7. 算法1(输出字符串的所有组合形式,例如 string s=abc 输出所有形式 a,b,c,ab,bc,abc 可以与顺序无关)...
  8. eclipse经常出现弹窗Refreshing workspace
  9. 利用VS2010模仿QQ2011登陆界面
  10. 计算机控制技术毕业论文题目,计算机控制方面论文选题 计算机控制论文题目怎样定...
  11. 荣耀5G,三刀拍案惊奇
  12. 芭蕉树上第十九根芭蕉-- Qt生成随机数的方法
  13. 用户计算机MAC地址在哪看,电脑mac地址查询_mac地址怎么查-太平洋IT百科
  14. 计算机功能自定义,设计大师学教学:自定义鼠标右键功能提升CAD绘图效率-鼠标右键菜单设置...
  15. 女生做软件测试的利弊如何权衡?
  16. Dubbo3.0 整合 Nacos
  17. Pytorch基础教程(1):人工智能与Pytorch简介
  18. XTransfer技术专家康康:从普通程序员到架构师的进化之路
  19. 老鸟谈谈JAVA EE的学习
  20. java 生成随机数字_java如何产生随机数

热门文章

  1. 空域变换之图像增强以及Matlab实现
  2. kafka 中如何保证数据消息不丢失
  3. 红亚2015-3月杯季赛 CTF题部分writeup
  4. Java学习中遇到的中文乱码问题的整理和解决方法
  5. 了解与MDIO/MDC接口相关的22号、45号条款
  6. 软件工程师 级别 职称 评定 从见习程序员 到 主任软件工程师
  7. 插件化Amigo-1
  8. Unity 材质设置为tiling不能够重复的问题
  9. 三行代码可视化神经网络特征图
  10. 如何拉取钉钉的外出、出差审批单