Android

Android P

今年是Android发布十周年的日子,Android P Beate 版如期在大会上发布,Android P更加注重人工智能方面的探索,此版本更新有以下三个方面:Intelligence(智力)、Simplicity(简单)、Digital wellbeing(数字健康)。

更新支持:首批支持升级到P的设备有9家:Google、Nokia、vivo、oneplus、小米、Sony、Essential(Android之父推出产品)、OPPO。

Intelligence

1. Adaptive Battery

电量优化。基于人工智能根据用户习惯,减少30%的CPU唤醒,Android内置的机器学习系统,能知道你接下来何时使用某些软件以合理分配电量。

2. Adapter Brightness

亮度调节优化。根据用户习惯,在不同场景下调节不同亮度。

3. App Actions。

预测用户使用应用,根据用户习惯,在合适场景显示用户可能打开的应用。开发时,只需加入actions.xml到应用。
根据不同的使用习惯以及相关性高低,App Actions 呈现给用户不一样的内容,并且支持多种谷歌以及 Android 服务平台,包括谷歌搜索应用 (Google Search App)、Play Store、谷歌智能助理 (Google Assistant) 以及启动器 (launcher)。App Actions 很快就能和各位开发者见面。您可同时在应用中构建一个 Conversational Action 作为辅助用途,它适用于任何支持谷歌智能助理 (Google Assistant) 服务的设备,如扬声器和智能显示器。这两种类型的 Actions 均使用一套共用的意图类别。

4. slices

让开发者定义用户界面的交互式片段。(在你搜索时,会对你进行推荐,如:搜索职位,给你推荐找工作App;在你搜索地址时,将在该地的照片推送给你。)

Slices 提供一系列 UI 模板,帮助开发者在应用中呈现丰富的动态交互式内容,支持所有 Android 系统以及提供谷歌服务的平台。Slices 可以展现实时数据、滚动内容、内联行为以及与您应用相连的深度链接,因此从播放音乐到检查预约更新,用户可以做任何事情。Slices 也可以包括像是开关或者滑块一类的互动控制元素。从今天开始创建您的 Slices,很快它们就会呈现在用户眼前。

5. ML Kit

通过Firebase提供的API。ML Kit是建立在TensorFlow Kite基础上,并针对移动设备进行优化的库。

Simplicity

1. New System Navigation

新的系统导航栏,引入了全新的手势操作。取消了传统三大按键中的多任务键,直接按住 home 键上滑打开多任务,然后 home 键按钮变成了类似 iPhone X 的小白条,左右滑动可以来回查看多个应用,底部一栏就是建议你使用的应用。在多任务状态下再次上滑可以看到所有应用。

  1. Quick settings。
  2. Volume controls。
  3. Betters screenshots。
  4. Rotation confirmation。
  5. Crash dialogs。
  6. Notifications。
  7. Status bar。
  8. Work profiles。

Digital wellbeing

  1. Dashboard。显示你使用应用的详细统计信息。

2. Updated Do Not Disturb

期间不显示电话、短信、通知,可以通过设置接收重要人信息。

  1. App timer。
  2. Wind down。

Android开发生态

Jetpack

jetpack.png

在Keynote上发布了 Android Jetpack,帮助提升应用开发速度。作为下一代的 Android 组件,Android Jetpack 将支持库向后兼容和立即更新的优点融合到更多组件中,让开发者能够快速轻松地开发出拥有卓越性能的高质量应用。简单来说就是官方的组件、工具和架构库。此库完美兼容Kotlin,主要有4个模块构成:WorkManager、Paging、Navigation 及 Slices。

jetpack_donut.png

Navigation——导航组件

Navigation是 单Activity多Fragment 开发模式下的页面跳转的导航组件。官方文档介绍如下:

利用导航组件对 Fragment 的原生支持,可以获得架构组件的所有好处(例如生命周期和 ViewModel),同时让此组件为您处理 FragmentTransaction 的复杂性。此外,Navigation组件还可以让您声明我们为您处理的转场。它可以自动构建正确的“向上”和“返回”行为,包含对深层链接的完整支持,并提供了帮助程序,用于将导航关联到合适的 UI 小部件,例如抽屉式导航栏和底部导航。

和其他的Fragment管理库(如Fragmentation)相比,Navigation优势明显:

  • 专业的 开发/维护 和 测试 团队,保证代码的质量及稳定性;
  • AndroidStudio IDE专属支持,包括可视化的编辑界面,和通过鼠标拖拽对Fragment的导航管理功能;
  • 对ViewModel,Lifecycle等 官方架构组件 的支持;
  • 官方针对迁移至Navigation 的流程提供了详细的文档;
  • 更多Android开发者会使用它,您可以在网上获取非常详尽的学习资料;
  • Google爸爸官方出品,无脑支持。

Paging——分页组件

官方对于 Paging 的相关介绍:

应用中呈现的数据可能非常大,这就导致加载的开销比较大,因此,避免一次下载、创建或呈现过多数据就显得非常重要。 分页组件 让您可以轻松加载和呈现大型数据集,同时在您的 RecyclerView 中进行 快速、无限滚动。它可以从本地存储和/或网络加载 分页数据,并让您能够定义内容的加载方式。此组件原生支持 Room、LiveData 和 RxJava。

优势也是相当明显:

  • 专业的 开发/维护 和 测试 团队,保证代码的质量及稳定性;
  • 原生支持Room、LiveData 和 RxJava;
  • 官方针对分页库 迁移至Paging 的流程提供了详细的文档;
  • 更多Android开发者会使用它,您可以在网上获取非常详尽的学习资料;
  • Google爸爸官方出品,无脑支持。

WorkManager

WorkManager是一个很新颖的库,它的作用一句话概述就是:

管理一些要在后台工作的任务, ——即使应用没启动也能保证任务能被执行。

还在为使用RxJava 和 AsyncTask 在后台线程干活, 但是应用一被杀或被关闭, 这些工具就不执行了而苦恼嘛?WorkManager不是, 它在应用被杀, 甚至设备重启后仍能保证你安排给他的任务能得到执行。

  • 易于安排:您可以在 特定条件 下启动任务,同时,任务之间可以相互链接,这意味着,你可以将任务 串行 或者 并行 执行。
  • 易于取消:您拥有对任务执行的控制权,通过API您可以轻松取消计划任务。
  • 易于查询:您可以将任务进度展示在各种各样的UI上。
  • 支持所有Android版本!就像描述的一样,各个Android版本下,WorkManager的API都是一致的。

Slices

Slices 提供了一系列 UI 模板,帮助开发者在应用中呈现丰富的动态交互式内容,支持所有 Android 系统以及提供谷歌服务的平台 。

Kotlin

Play Store 中用 Kotlin 开发的应用在去年增至 6 倍,在高级开发者中有 35% 的人选择使用 Kotlin 进行开发,而且这个数字正在逐月递增。

  • Google会继续改善 Kotlin 在支持库、工具、运行时 (runtime)、文档以及培训中的开发体验。
  • 今天发布的Jetpack中包含Android KTX力图继续优化Kotlin开发体验。
  • 继续改善 Android Studio、Lint 支持以及 R8 优化中的工具对Kotlin的支持;
  • 对 Android P 中的运行时 (Android Runtime) 进行微调,以此加快 Kotlin 编写的应用的运行时间;
  • 在 “谷歌开发者专家项目” 内为 Kotlin 专门设立了一个分块;
  • 发布 Kotlin 版本的《API 参考文档》。

Android Studio

发布了Android Studio 3.2 金丝雀版,3.2主要更新如下:

  1. 引入了 Android Jetpack 支持工具,包括一款视觉导航编辑器以及全新代码重构工具。
  2. 还包含了可用于创建全新的 Android App Bundle 格式的构建工具。
  3. 用于快速启动 Android 模拟器的快照功能 (Snapshot)。
  4. 给下载及安装包瘦身的新 R8 优化器。
  5. 以及用于测量应用对电池续航影响的新电量分析工具 (Energy Profiler)。

Android App Bundle

向 Android 引入新 app 模式。利用全新发布格式 —— Android App Bundle,大幅度减少应用体积。现在您只须在 Android Studio 中构建一个应用束 (app bundle),就可以将应用所需的全部内容 (适用于所有设备) 都涵盖在内:所有语言、所有设备屏幕大小、所有硬件架构。接着,在用户下载您的应用时,Google Play 的新动态交付只会传输适用于用户设备的代码和资源。人们在 Play Store 上看到的安装包体积更小,下载速度也越快,同时也节省了设备存储空间。

Appbundle.gif

Android App Bundle 支持模块化,因此开发者可以随时按需交付功能,而不是仅限在安装过程中。您可以在最新发布的 Android Studio 金丝雀版本中构造动态功能模块。

Android 应用生态

Google Play

Play Console 的新功能和报告能够帮助您提升应用性能并扩展业务。点击阅读有关控制面板、统计、Android vitals、发布前报告、用户获取报告以及订阅面板的相关改进项。您也可以使用我们新的发布格式 —— Android App Bundle,上传、测试以及发布应用。

Instant App

作为Google应对类似小程序类应用的方案,Instant App还在更新。好像影响还不大,期待继续变好吧。国内现在影响不到,日后再学。

今天宣布所有游戏开发者都能构建即时应用 (instant app) Google Play Instant。现在 Google Play Instant 支持全球超过 10 亿台设备。

为了简化即时应用的开发,我们将在这周发布对应的 Unity 游戏引擎插件服务,以及与 Cocos Creator 的 beta 版本集成。最近,我们开始测试 Google Play Instant 与 AdWords 的兼容性,让人们能直接通过通用广告活动 (Universal App campaigns) 覆盖的所有渠道里的广告直接试玩游戏。

Android Things

在大会前一天,Google正式发布了 AndroidThings 的1.0版本。Android Things 作为 Google 旗下的一款操作系统 (OS),能够帮助开发者规模化开发和维护物联网设备。

平台现添加对 3 种新系统模组 (System-on-Modules 或 SoMs) 的支持,并承诺在接下来的三年中提供长期支持,同时让开发者自行决定是否需要扩展支持,帮助他们更容易地设计出原型并推向市场。而同时推出的 Android Things 控制台 (Android Things Console) 更是将简化产品开发推向极致,帮助开发者定期获取 Google 最新稳定性修复包以及安全升级包,从而实现从发布、管理到设备更新的无缝连接。

Android Wear

发布了新的 Wear OS的 开发者预览版,为 Wear OS 带来 Android P 平台的心功能。主要进行了一下更新:

  1. 全新省电模式
  2. 更多功耗优化,包括蓝牙连接断开时关闭 Wi-Fi 以及 后台活动与前台服务限制
  3. 通知智能回复

AR Core

参考文献

  • 任玉刚写作平台 感谢刚哥写作平台的高质量文章
  • Android cn 官网

更多相关文章

  1. Android闹钟及相关组件
  2. 支持HTML5 SqlLite的AndroidApp
  3. Android四大组件之ContentProvider
  4. Android列表组件ListView使用详解之动态加载或修改列表数据
  5. Android开发系列(二十二):AdapterViewFlipper的功能和使用方法
  6. Android下的默认字体详解
  7. 安卓程序代写 网上程序代写[原]ViewGroup(容器组件)详解(API解析
  8. Android(安卓)Studio 四大组件之 Service的生命周期上
  9. webview发展现状

随机推荐

  1. Android(安卓)实现简单当前时间点的天气
  2. Android(安卓)2.2 API Demos -- 通过调用
  3. Android中的自定义注解
  4. android中画廊视图Gallery和ImageSwitche
  5. Android(安卓)Universal-Iamge-Loader的D
  6. 深入源码分析Handler的消息处理机制
  7. android后台布局
  8. mac下配置android studio工具
  9. Android判断app是否后台运行中,后台运行通
  10. android简单的请求手机权限封装