Android 已经做好迎接可折叠手机、Kotlin 1.3 的准备

Android 已经做好迎接可折叠手机、Kotlin 1.3 的准备

在 Android 开发峰会上,谷歌发布了一系列新闻,包括 Android 支持 kotlin 1.3 新特性、可折叠手机支持、应用内 Updates API、Android Studio 改进等等。

Kotlin

Kotlin 1.3带来了一系列新的语言特性、API、Bug 修复和性能改进。这些新特性将通过KTX 扩展(KTX 针对 Kotlin 的使用优化了 Jetpack 和 Android 平台 API)集成到 Kotlin 专用的 API 中,作为 Android Jetpack 的一部分,包括:

  • 内联类是一个实验性特性,它允许开发人员创建一个类型,除非装箱,否则不会分配。
  • 无符号数现在是 Kotlin 标准库的一部分,包括 UInt、UByte 和 ULong。这些新类型是使用内联类构建的。
  • 以前为 Android 或 JVM 编写的多平台代码现在也可以面向 JavaScript 或本机代码了。这提供了在更多平台上重用部分代码库的可能性。
  • 协程支持现在已稳定。协程提供了设计异步、非阻塞程序的强大范式。

Android Studio

Android Studio 3.3 Beta 3 带来了一系列的特性、改进和 Bug 修复。我们将介绍其中的一部分。

内存分配分析器现在允许开发人员选择一种模式来跟踪实时内存分配:

  • 全部:获取所有对象的内存分配;
  • 抽样:定期捕获对象内存分配的样本,这是默认行为,在分析时对应用程序性能的影响较小;
  • 关闭:关闭内存分配。

CPU 分析器现在允许开发人员查看 Java 应用程序在主 UI 线程和 RenderThread 上渲染每一帧需要多长时间。当查找导致 UI“掉帧(jank)”和低帧率的瓶颈时,可能会有用到这些数据。

Android Studio 添加了一个新的对话框,允许开发人员删除未使用的目录。当一个新的 Android Studio 主要版本第一次运行时,它会查找包含与 Android Studio 旧版本相关联的文件的目录,而这个旧版本已经无法找到相应的安装。当找到这样的文件时,将显示一个对话框列出这些文件,并提供删除文件的选项。

Android Studio 还支持构建Android 应用程序包,完全支持Instant Apps。换句话说,开发人员可以从一个 Android Studio 项目中构建和部署安装应用和 Instant App。要使用此功能,请确保在创建新项目时勾选了“配置项目 > 此项目将支持 Instant App”的复选框。清单文件中将增加下列属性:

复制代码

<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>

Android Studio 现在支持使用Clang-Tidy对包含原生代码的项目进行静态代码分析。

R8是一个替代 ProGuard 的新的代码压缩和混淆工具,它是默认启用的。

可折叠手机

谷歌已经宣布 Android 支持可折叠手机,名为“Foldables”。可折叠手机是由设备制造商创建的新类型,用户可以折叠 / 展开设备,如下图所示。

Android 已经做好迎接可折叠手机、Kotlin 1.3 的准备

(图片来自android-developers.googleblog.com

谷歌正在优化 Android 系统,以适应一种叫做屏幕连续性的新形式。在这种新形式中,应用程序可以自动从一个屏幕过渡到另一个屏幕。例如,用户用折叠过的小屏幕启动视频,然后展开设备以获得更大的屏幕。当用户展开可折叠手机时,应用程序可以无缝地转移到更大的屏幕上,没有任何问题。在 2018 年三星开发者大会上,三星宣布了首款可折叠手机,并计划在明年推出。

应用内 Updates API

谷歌发布了 Instant App 的改进,推出了应用内 Updates API。有了这个 API,开发人员将有两个选项可以保证用户更新他们的应用程序:第一个是关键更新的全屏体验,迫使用户立即应用更新。第二种是灵活更新,这意味着用户可以在下载更新时继续使用应用程序。据谷歌介绍,他们正与谷歌的一些合作伙伴一起测试这个 API,并将尽快提供给所有开发人员。

Android 已经做好迎接可折叠手机、Kotlin 1.3 的准备

(图片来自android-developers.googleblog.com

Android Jetpack

Android Jetpack带来了一些架构组件库的更新。按照谷歌的说法,旨在简化导航实现的Navigation将在 11 月进行 Beta 测试。

按照谷歌的说法,另一个将进行 Beta 测试的组件是WorkManager,该库提供了一个基于后台约束的作业的解决方案,取代诸如作业或SyncAdapters这样的东西,提供一个简洁的现代化 API,旨在使它更容易指定异步任务,在有或没有 Google Play Services 的设备上都可以运行。

Slices是 UI 模板,可以在谷歌搜索应用和其他地方(如谷歌助手)中显示丰富的动态交互式内容。它已经被转移到公开搜索实验中。

谷歌 Android 开发者网站上提供了更多信息。谷歌还为那些想为可折叠手机准备应用程序的用户提供了一系列建议。

如果你已经把 Android Studio 设置为在Beta 通道上接收更新,那么你可以通过帮助 > 检查更新(Android Studio > 检查 Mac 版更新)来获得更新。否则,你可以从这里下载。

查看英文原文:https://www.infoq.com/news/2018/11/android-dev-summit-2018

相关推荐