2017年Android圈必须知道的那些大事儿【Bus Weekly】84 期

5
回复
1763
查看
[复制链接]

185

主题

175

帖子

6451

安币

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-1-22 11:14:07 | 显示全部楼层 |阅读模式
2017 对于 Android 来说是了不起的一年。在这一年中,Android 发布了很多重大的公告,包括支持 Kotlin 这一领人振奋的新语言,以及使用 Neural 网络 API 和 ARCore 构建智能交互式应用等。

让我们以 Android 开发者的视角来快速回顾一下 2017 年中所有值得注意的 Android 公告。
191750o2nbsljbtlkk72s7.jpg

Kotlin  —  有趣的新语言
Android 开发者早就已经对 Java 语言样板化的代码厌倦了,而几年之前,少有公司和开发者会去寻找其它可供构建 Android 应用的选择,直到他们遇上了 Kotlin。
自此这种富有魅力的语言就不断地开疆扩土,很快在5月17日 Google 就宣布了 Kotlin 为 Android 开发的官方语言。
至于后面发生了什么,地球人都知道 ;) Kotlin 万岁!
有趣的事实: Android Studio 3.0 中有超过 17% 的项目使用的是 Kotlin

Kotlin 语言风格指南
随着 Kotlin 的发展渐成燎原之势,JetBrains 的 Google 和 Kotlin 团队发布了包含了在使用 Kotlin 构建 Android 应用时可以遵循的一系列规则。
Android 架构组件
之前,Google 从来都没有就哪种架构适合用来构建 Android 应用发表观点,或者给出推荐做法。
不过在 2017 年他们终于决定用《架构组件与指南》来告诉大家他们推荐使用什么架构。

架构指南
架构指南是一系列的指导意见,定义可以来构建稳定,可维护和测试的 Android 应用的实际架构和最佳实践。

架构组件
架构组件是一堆被设计用来帮助我们遵循架构指南构建应用的库。这些库是模块化的,因此并没有必要把它们都使用起来。
它们是在 17 年的 Google I/O 大会上推出的,已经趋于稳定,因此如果你已经没有入手,现在就是入手的好时机了。
我已经纂写了一个系列的文章来解释架构组件,还有一个使用了它们的示例应用。
谈话视频:
免责声明: 这一个视频是由我来录的。Google 的那个你如果想要的话,可以自己找找。
示例应用:
有趣的事实: 还有更多的库 (它们都将会称为架构组件的一部分) 很快就会有了。

Android Oreo  —  最甜的 Android
2017 年我们可以从 Android Oreo 获得许多的功能特性。Oreo 设置了一个持续运行并消耗内存后台服务。
那有什么新东西呢?
  • 后台限制(Background Limit)
  • 通知频道(Notification Channel)
  • 自动填充 API(Auto-fill API)
  • 画中画(Picture-in-picture)
  • 自适应图标(Adaptive icons)
  • 字体(Fonts)和可下载字体(downloadable fonts)
  • 自动调整大小的 TextView(Auto-sizing TextView)

你可以从如下地址了解到更多有关的 API 变化:
Android Studio 3.0
Android Studio 3.0 发布了许多新功能,像是对 Kotlin 的支持, 新的应用模拟工具套件对开发者更加友好,而且可以帮助快速地修复性能问题。

重要的提升:
  • 更加快速
  • 支持 Kotlin
  • 新的应用模拟工具
  • APK 分析器(APK Analyzer)
  • 支持开发中应用实时运行(Instant app)
  • 支持 Android things
  • 自适应图标,可下载字体已经更多新功能

从下面的地址你还可以了解到更多:
尽管 Android Studio 3.0 已趋于稳定,不过此外的 Android Studio 3.1 已经在试用频道发布了,而它带来了更多的像是新的 DEX 编译器这样的魔性技术。

实时运行应用(Instant App) — 无需安装即可运行
Android 实时运行应用是一种无需安装就能运行 Android 应用的新方法。它是一种让用户使用 Android 应用的全新方式。
Instant apps 是借助一个 URL 来触发的,无需安装就会打开一个应用。这像技术是通过将应用分解成功能然后让每一项功能映射到 URL 来实现的,当 Google Play 接收到对特定 URL 的请求时,就会去获取到应用的那个功能的代码,再去运行这个应用。
对一个实时运行应用进行解析
实时运行应用是由多个基于一个基础功能的功能组合而成的 ——  基础功能包含了所有功能的通用逻辑。
开发实时运行应用可以帮助我们依据应用的功能特性让项目模块化(如果不是已经模块化的话),也能帮助我们裁减 APK 的大小。
开始构建你的实时运行应用的不错的方法:
Project Treble
Android 版本的碎片化是 Android 生态系统最大的问题之一。终端收到最新的 Android 更新要等上好多个月,而大多数终端甚至都不会收到更新。
有了 Project Treble,Android OS 架构被重新设计,制造商可以更轻松且更快速地将终端更新上新版本的 Android,而且代价也更少。
现在有了 Treble,终端制造商只需要将 Android OS 框架更新到最新就可以了,而无需担忧供应商的实现会导致延迟更新。
191203i2hjquw0whlmwsuu.jpg
Project Treble 要展现其神力尚需时日。我真心希望它能发扬光大,然后彻底解决调 Android 碎片化的问题。
有趣的事实: Google Pixel 2 在推出时承诺将持续更新 Android OS 三年。这其实是 Project Treble 将会给 Android 碎片化问题带来转机的很好证明。
Android Go  —为入门级终端提供强大体验
191203kuwnu48m5ypyknty.jpg
Android Go 是 Google 推出的一项举措,旨在为全球数十亿的在线用户优化 Android 的使用体验。
它是 Android 的一个优化版本,被设置用来在入门级也能很好的运行。
Android Go 起步于 Android 8.1 也就是 Android Oreo (Go 版) ,而它进行了如下配置:
  • 内存优化: 根据平台来提升内存的使用,以确保应用能在只有 1GB 或者更小 RAM 的终端上高效运行。
  • Google Play: Google Play 商店将会对那些使用《为数十亿用户构建应用指南》进行了优化,以为数十亿人提供良好体验的应用进行推荐并且给予更多的可见性。也就是说其它的应用将可以从商店看到并且进行安装。

功能特性
  • Android Go 设备将可以有两倍甚至更多存储应用;
  • 它们会与 Google 应用的 “Go 版”一起运行。
  • 应用平均会快上 15%

Android Go 是 Solve for India 小组于十二月份发布的,而部署了 Android Go 的设备将会在 2018 到来:
ARCore
2017 年增强现实技术(AR)随着 ARCore 来到 Android 中,ARCore 已成为在 Android 上构建增强现实应用程序的平台。
它被设计工作于运行 Android 7.1 (Nougat)及以上版本的 Android 设备中,但现在因为它处于开发者预览阶段,所以只支持 Pixel 和一些三星的设备。
它支持三种开发环境:
  • JAVA
  • Unity
  • Unreal

而且可能还有更多的渠道(指开发环境),你可以使用它们中的任一个(环境)构建你的 ARCore 应用。
它仍然在开发者预览版中,现在是折腾它的好时机。
去吧,开始折腾 AR 玩吧。
谷歌 Pixel 2 的 AR Stickers 就是 Android ARCore 的一个例子。

Neural Net API
Android 神经网络 API 是一种 Android C API ,旨在运行计算密集型操作的设备级的机器学习。
它为像 TensorFlow Lite 等更高级别的机器学习框架提供了一个基础抽象层。可在支持的设备上进行硬件加速推理操作,以快速执行先前训练过的机器学习模型。
它将主要辅助:
  • 降低网络成本和延迟
  • 提供隐私

它在 Android 8.1(奥利奥)及以上版本上可用。

总结

我觉得有那么多令人惊异的公告的  2017 年,是 Android 最激动人心的一年。使用 Kotlin 和架构组件—指南,谷歌正让 Android 开发者的生活变得轻松。

Android Oreo 的发布使 Android 更快,更安全,更贴心。并且试图用 Project Treble 来解决碎片的问题和推出 Android Go 用于入门级的设备。

在新的神经网络 API 和 ARCore 的帮助下,通过将机器学习和增强现实技术引入 Android ,使设备更加智能和有趣。

简而言之,我看到了 Android、Kotlin 和 Android 开发者们的一个非常明亮的未来,我觉得将会有更多让人兴奋的事情出现在 2018 年。
来源:Akshay Chordiya



【Bus Weekly】84 期

【一周优秀博文】

Android APP 性能优化的一些思考

Android 项目最新架构分析

Android 中的转场动画及兼容处理

Android源码分析--动画框架AnimatorSet

是时候来了解Android快捷方式:shortcuts




【一周Android精品源码推荐】

android打造酷炫下拉视差效果并解决各种滑动冲突源码

android实现UC浏览器首页滑动动画实现

仿最新版微信 Rxjava+Retrofit+MVP+Glide 技术开发

android一键清理/内存加速,缓存清理,自启管理,软件管理

Android 仿华为荣耀时钟效果

android3d旋转切换view、类似旋转木马效果源码

一个能让微信 Material Design 化的 Xposed 模块

Android手机上的免Root Android系统日志Viewer

使用Kotlin编写的Android应用,内容你想象不到

仿微信打开红包旋转动画


113638i77d6dddzidq7eqy.jpg
安卓巴士官方微博链接

Bus Weekly回顾
安卓巴士菁英会会员招募中~
113639sv0vz33r4tr00rr3.jpg

0

主题

9481

帖子

2471

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-23 04:57:46 | 显示全部楼层
楼主威武,以后多发干货,多办活动~!

27

主题

9687

帖子

1873

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-23 22:40:04 | 显示全部楼层
不错不错,楼主辛苦了。。。

0

主题

9476

帖子

1146

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-24 16:25:37 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

1

主题

9194

帖子

2912

安币

Android大神

Rank: 6Rank: 6

发表于 2018-1-25 12:28:05 | 显示全部楼层
不错不错,楼主辛苦了。。。

52

主题

258

帖子

4429

安币

码皇(巴士元老)

Rank: 8Rank: 8

最佳新人签到达人原创勋章

发表于 2018-1-27 11:20:45 | 显示全部楼层
这真是一个好东西 必须点赞
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )