写点什么

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

Diogo Carleto

  • 2018-11-20
  • 本文字数:1856 字

    阅读完需:约 6 分钟

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-developers.googleblog.com


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

应用内 Updates API

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



(图片来自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


2018-11-20 13:401567
用户头像

发布了 1008 篇内容, 共 391.6 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui

jenkins wordcloud

架构师训练营 第4周学习总结

Glowry

极客大学架构师训练营

架构师训练营第四周作业

Melo

一张PDF了解JDK9 GC调优秘籍-附PDF下载

程序那些事

性能调优 GC JDK9 cheatsheet 秘籍

戴尔Latitude 9510 雅典娜计划标准的英特尔移动超能版笔记本

最新动态

架构师训练营第三周作业

陈靓-哲露

程序员面试与 HR 谈薪资技巧

张小方

程序员 面试 offer 年终奖 月薪

架构师训练营:第四周作业

zcj

极客大学架构师训练营

架构师训练营 第4周作业

Glowry

极客大学架构师训练营

架构师是怎样炼成的 04-1互联网分布式系统架构演化

闷骚程序员

极客大学架构师训练营

【6月】本月读书学到了什么

Neco.W

读书感悟 阅读量

前端存储除了 localStorage 还有啥

阿宝哥

Java 大前端 存储

架构师训练营总结-20200627

caibird1984

极客大学架构师训练营

架构师训练营作业-20200627

caibird1984

极客大学架构师训练营

聊聊Hystrix中的命令模式

老胡爱分享

Java 面试 设计模式 命令模式

理解了 1+2 的过程,你就理解了Java虚拟机

侯树成

JVM JVM原理

架构设计之常识篇

魔曦

架构师 极客大学架构师训练营

Python多重继承问题之MRO和C3算法

王坤祥

Python MRO C3算法 多继承

漫画:15张图,帮你看懂布隆算法

Java小咖秀

面试 算法 布隆过滤器

时间管理的本质到底是什么?

非著名程序员

程序员 提升认知 时间管理

漫画:对象是如何被找到的?句柄 OR 直接指针?

王磊

Java 面试

Golang中的Interface(接口),全面解析

Eriol

接口 interface Go 语言

第四周总结

芒夏

极客大学架构师训练营

第四周作业

芒夏

极客大学架构师训练营

「架构师训练营」第 4 周 学习总结

guoguo 👻

极客大学架构师训练营

消息队列(五)如何保证消息的顺序性?

奈何花开

Java MQ 消息队列

计算机操作系统基础(七)---作业管理之死锁

书旅

php laravel 线程 操作系统 进程

极客时间架构师训练营 - week4 - 作业 1

jjn0703

极客大学架构师训练营

极客大学算法训练营第一课

落曦

架构师训练营第四周作业

W_T

消息队列(四)如何处理消息丢失的问题?

奈何花开

Java MQ 消息队列

Android已经做好迎接可折叠手机、Kotlin 1.3的准备_硬件_InfoQ精选文章