写点什么

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:401678
用户头像

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

关注

评论

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

只用CSS实现响应式Full-Width img 2种方法

寇云

CSS css3

自定义列表样式

寇云

CSS css3

机器学习项目是如何开发和部署的?

陆道峰

人工智能 学习

“新基建”方兴未艾,Smartbi Mining如何为产业数字化转型赋能?

infoq小陈

git | IDEA 中如何压缩提交(压缩commit后再push 图文演示)

YoungZY

开发者工具 IDEA 开发工具

GitHub 上十个好用的软件

彭宏豪95

GitHub 效率 工具

券商也“网红”,证券行业IT服务运维发展按下“快进键”

博睿数据

运维 APM 证券 券商 行情

关于软件测试的三点思考

卓然

软件测试 测试 测试的价值 联现技术咖

做好领路人——写给技术新人的导师建议

南方

管理 新人

最香远程开发解决方案!手把手教你配置VS Code远程开发工具,工作效率提升N倍

程序员柠檬

Linux 后台开发 vscode 后端

为什么要学习 Markdown?究竟有什么用?

JackTian

markdown markdown语法 markdown编辑器

如何设计数据中台

数据社

大数据 数据中台 数据仓库

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十一)JUnit概述

编程道与术

Java 编程 软件测试 TDD 单元测试

写给产品经理的信(5):谈谈项目管理(青铜-王者)

punkboy

产品 极客时间,项目管理 项目管理 产品经理 项目

前端工程化之创建项目

春生

大前端 全栈工程师

地铁上看书的老外引发的思考

小天同学

写作 读书 个人感想 日常思考

一款开源且具有交互视图界面的实时 Web 日志分析工具!

JackTian

开源 GoAccess 实时 Web 日志分析工具 交互式查看器

为什么第三方联调应该先行?

大伟

这场大数据+AI Meetup,一次性安排了大数据当下热门话题

Apache Flink

大数据 flink 流计算 实时计算

纯CSS“返回顶部”特效

寇云

CSS css3

如何通过样本数据推断其分布

张利东

Python

偏头疼告诉我的,我想告诉每一个人

zkback

Python deepcopy一个优化

么么哒

Python

自定义构造python白名单__builtins__

么么哒

Python

Server Queue 提高 QPS

风含叶

Python kafka 后端 队列

HTML中实现合并单元格

JDoe

html

团队与领导力健康检查 | 体检表

Bob Jiang

团队建设

重学 Java 设计模式:实战原型模式

小傅哥

Java 设计模式 小傅哥 复杂代码优化 重构

python实现·十大排序算法之基数排序(Radix Sort)

南风以南

Python 排序算法 基数排序

写代码没几天,遇到一堆报错,我该怎么办

刘早起😶

Python 程序员 程序人生

互联网省份数据大揭秘,看看哪些地方是互联网的戈壁滩?

非著名程序员

程序员 互联网 IT

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